[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0709240935170.25564@tongli.jf.intel.com>
Date: Mon, 24 Sep 2007 09:43:17 -0700 (PDT)
From: Tong Li <tong.n.li@...el.com>
To: Peter Zijlstra <a.p.zijlstra@...llo.nl>
cc: Mike Galbraith <efault@....de>, Ingo Molnar <mingo@...e.hu>,
dimm <dmitry.adamushko@...il.com>, linux-kernel@...r.kernel.org,
Srivatsa Vaddagiri <vatsa@...ux.vnet.ibm.com>
Subject: Re: [git] CFS-devel, group scheduler, fixes
On Mon, 24 Sep 2007, Peter Zijlstra wrote:
> On Mon, 24 Sep 2007 13:22:14 +0200 Mike Galbraith <efault@....de> wrote:
>
>> On Mon, 2007-09-24 at 12:42 +0200, Mike Galbraith wrote:
>>> On Mon, 2007-09-24 at 12:24 +0200, Peter Zijlstra wrote:
>>>
>>>> how about something like:
>>>>
>>>> s64 delta = (s64)(vruntime - min_vruntime);
>>>> if (delta > 0)
>>>> min_vruntime += delta;
>>>>
>>>> That would rid us of most of the funny conditionals there.
>>>
>>> That still left me with negative min_vruntimes. The pinned hogs didn't
>>> lock my box up, but I quickly got the below, so hastily killed it.
>>
>> Shouldn't the max() in place_entity() be the max_vruntime() that my
>> lysdexia told me it was when I looked at it earlier? ;-)
>>
>
> probably, my tree doesn't have that max anymore so I'm not sure.
>
Last time I looked, I thought the max() in place_entity() was fine and the
problem seemed to be in set_task_cpu() that was causing the negative
vruntimes:
if (likely(new_rq->cfs.min_vruntime))
p->se.vruntime -= old_rq->cfs.min_vruntime -
new_rq->cfs.min_vruntime;
I think it's fine we get rid of sync_vruntime(). I need to think more
about how to make global fairness work based on this--it seems to be more
complicated than if we had sync_vruntime().
tong
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists