Re: [PATCH v4] sched: fix wrong rq's runnable_avg update with rttasks

From: Peter Zijlstra
Date: Tue Apr 09 2013 - 04:50:23 EST


On Thu, 2013-04-04 at 16:15 +0200, Vincent Guittot wrote:
> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
> ---
> kernel/sched/fair.c | 23 +++++++++++++++++++++--
> kernel/sched/idle_task.c | 10 ++++++++++
> kernel/sched/sched.h | 12 ++++++++++++
> 3 files changed, 43 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 0fcdbff..1851ca8 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -1562,6 +1562,27 @@ static inline void
> dequeue_entity_load_avg(struct cfs_rq *cfs_rq,
> se->avg.decay_count =
> atomic64_read(&cfs_rq->decay_counter);
> } /* migrations, e.g. sleep=0 leave decay_count == 0 */
> }
> +
> +/*
> + * Update the rq's load with the elapsed running time before entering
> + * idle. if the last scheduled task is not a CFS task, idle_enter
> will
> + * be the only way to update the runnable statistic.
> + */
> +void idle_enter(struct rq *this_rq)
> +{
> + update_rq_runnable_avg(this_rq, 1);
> +}
> +
> +/*
> + * Update the rq's load with the elapsed idle time before a task is
> + * scheduled. if the newly scheduled task is not a CFS task,
> idle_exit will
> + * be the only way to update the runnable statistic.
> + */
> +void idle_exit(struct rq *this_rq)
> +{
> + update_rq_runnable_avg(this_rq, 0);
> +}

These seem like fairly unfortunate names to expose to the global
namespace, why not expose update_rq_runnable_avg() instead?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/