Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, tsc: Fix a preemption leak in restore_sched_clock_state() sched: Move sched_avg_update() to update_cpu_load()
This commit is contained in:
@@ -1294,6 +1294,10 @@ static void resched_task(struct task_struct *p)
|
|||||||
static void sched_rt_avg_update(struct rq *rq, u64 rt_delta)
|
static void sched_rt_avg_update(struct rq *rq, u64 rt_delta)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void sched_avg_update(struct rq *rq)
|
||||||
|
{
|
||||||
|
}
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
|
||||||
#if BITS_PER_LONG == 32
|
#if BITS_PER_LONG == 32
|
||||||
@@ -3182,6 +3186,8 @@ static void update_cpu_load(struct rq *this_rq)
|
|||||||
|
|
||||||
this_rq->cpu_load[i] = (old_load * (scale - 1) + new_load) >> i;
|
this_rq->cpu_load[i] = (old_load * (scale - 1) + new_load) >> i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sched_avg_update(this_rq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void update_cpu_load_active(struct rq *this_rq)
|
static void update_cpu_load_active(struct rq *this_rq)
|
||||||
|
@@ -2267,8 +2267,6 @@ unsigned long scale_rt_power(int cpu)
|
|||||||
struct rq *rq = cpu_rq(cpu);
|
struct rq *rq = cpu_rq(cpu);
|
||||||
u64 total, available;
|
u64 total, available;
|
||||||
|
|
||||||
sched_avg_update(rq);
|
|
||||||
|
|
||||||
total = sched_avg_period() + (rq->clock - rq->age_stamp);
|
total = sched_avg_period() + (rq->clock - rq->age_stamp);
|
||||||
available = total - rq->rt_avg;
|
available = total - rq->rt_avg;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user