Re: [patch 08/15] sched: migrate throttled tasks on HOTPLUG

From: Paul Turner
Date: Tue Apr 05 2011 - 22:31:55 EST


On Tue, Apr 5, 2011 at 6:28 AM, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
> On Tue, 2011-03-22 at 20:03 -0700, Paul Turner wrote:
>> Throttled tasks are invisisble to cpu-offline since they are not eligible for
>> selection by pick_next_task().  The regular 'escape' path for a thread that is
>> blocked at offline is via ttwu->select_task_rq, however this will not handle a
>> throttled group since there are no individual thread wakeups on an unthrottle.
>>
>> Resolve this by unthrottling offline cpus so that threads can be migrated.
>
> Fair enough, the flip side is that they all can again increase their
> debt by a whole tick, right?
>

In the case where they enqueue on to a new rq and we can't catch the
bw condition until entity_tick I suppose it's possible to grab up to
an extra tick.

This is actually analogous to a task waking up when other cpus have
drained quota -- this case can be properly handled by an explicit
check/throttle in the enqueue_task_fair() path in the non-on-cpu case.
Will add.
--
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/