Re: [patch 12/16] sched: prevent interactions with throttled entities

Peter Zijlstra
2011-06-23T11:50:18Z

On Tue, 2011-06-21 at 00:17 -0700, Paul Turner wrote:
> @@ -2635,8 +2704,10 @@ static int update_shares_cpu(struct task
>
> raw_spin_lock_irqsave(&rq->lock, flags);
>
> - update_rq_clock(rq);
> - update_cfs_load(cfs_rq, 1);
> + if (!throttled_hierarchy(cfs_rq)) {
> + update_rq_clock(rq);
> + update_cfs_load(cfs_rq, 1);
> + }
>
> /*

OK, so we can't contribute to load since we're throttled, but
tg->load_weight might have changed meanwhile?

Also, update_cfs_shares()->reweight_entity() can dequeue/enqueue the
entity, doesn't that require an up-to-date rq->clock?