Re: Make yield_task_fair more efficient

From: Balbir Singh
Date: Thu Feb 21 2008 - 08:33:58 EST


Mike Galbraith wrote:
> Hi,
>
> On Thu, 2008-02-21 at 15:01 +0530, Balbir Singh wrote:
>> Ingo Molnar wrote:
>>> * Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
>>>
>>>> If you insist that sched_yield() is bad, I might agree, but how does
>>>> my patch make things worse. [...]
>>> it puts new instructions into the hotpath.
>>>
>>>> [...] In my benchmarks, it has helped the sched_yield case, why is
>>>> that bad? [...]
>>> I had the same cache for the rightmost task in earlier CFS (it's a
>>> really obvious thing) but removed it. It wasnt a bad idea, but it hurt
>>> the fastpath hence i removed it. Algorithms and implementations are a
>>> constant balancing act.
>> This is more convincing, was the code ever in git? How did you measure the
>> overhead?
>
> Counting enqueue/dequeue cycles on my 3GHz P4/HT running a 60 seconds
> netperf test that does ~85k/s context switches shows:
>
> sched_cycles: 7198444348 unpatched
> vs
> sched_cycles: 8574036268 patched


Thanks for the numbers! I am very convinced that the patch should stay out until
we can find a way to reduce the overhead. I'll try your patch and see what the
numbers look like as well.

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
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/