Re: [PATCH v5 2/7] sched: remove SMP cover for runnable variables in cfs_rq

From: Paul Turner
Date: Mon May 06 2013 - 04:02:21 EST


On Sun, May 5, 2013 at 6:45 PM, Alex Shi <alex.shi@xxxxxxxxx> wrote:
> The following variables were covered under CONFIG_SMP in struct cfs_rq.
> but similar runnable variables work for UP in struct rq and task_group.
> like rq->avg, task_group->load_avg.
> So move them out, they also can work with UP.

Is there a proposed use-case for UP? My apologies if I missed it in
an alternate patch.

It would seem the only possibly useful thing there would the the
per-rq average for p-state selection; but we can get that without the
per-entity values already.

>
> u64 runnable_load_avg, blocked_load_avg;
> atomic64_t decay_counter, removed_load;
> u64 last_decay;
>
> u32 tg_runnable_contrib;
> u64 tg_load_contrib;
>
> Signed-off-by: Alex Shi <alex.shi@xxxxxxxxx>
> ---
> kernel/sched/sched.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> index 7f36024f..1a02b90 100644
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -226,7 +226,6 @@ struct cfs_rq {
> unsigned int nr_spread_over;
> #endif
>
> -#ifdef CONFIG_SMP
> /*
> * CFS Load tracking
> * Under CFS, load is tracked on a per-entity basis and aggregated up.
> @@ -242,6 +241,7 @@ struct cfs_rq {
> u64 tg_load_contrib;
> #endif /* CONFIG_FAIR_GROUP_SCHED */
>
> +#ifdef CONFIG_SMP
> /*
> * h_load = weight * f(tg)
> *
> --
> 1.7.12
>
--
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/