Re: [RFC -v2 PATCH 2/3] sched: add yield_to function

Rik van Riel
2010-12-28T22:35:03Z

On 12/28/2010 12:54 AM, Mike Galbraith wrote:
> On Mon, 2010-12-20 at 17:04 +0100, Mike Galbraith wrote:
>> On Mon, 2010-12-20 at 10:40 -0500, Rik van Riel wrote:
>>> On 12/17/2010 02:15 AM, Mike Galbraith wrote:
>>>
>>>> BTW, with this vruntime donation thingy, what prevents a task from
>>>> forking off accomplices who do nothing but wait for a wakeup and
>>>> yield_to(exploit)?
>>>>
>>>> Even swapping vruntimes in the same cfs_rq is dangerous as hell, because
>>>> one party is going backward.
>>>
>>> I just realized the answer to this question.
>>>
>>> We only give cpu time to tasks that are runnable, but not
>>> currently running. That ensures one task cannot block others
>>> from running by having time yielded to it constantly.
>>
>> Hm. Don't think that will 100% sure prevent clock stoppage, because the
>> running task doesn't necessarily advance min_vruntime.
>>
>> What about something like the below instead? It compiles, but may eat
>> your first born child.
>
> (either it's christmas, or nobody cares to try it. ho ho hum:)

It's christmas.

I've replaced my original patch with your patch in my
series, just haven't gotten around to running Avi's
latest test on it yet :)

--
All rights reversed