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

From: Peter Zijlstra
Date: Thu Jun 23 2011 - 07:50:22 EST


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?


--
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/