Re: [RFC] scheduler issue & patch

Gerd Hoffmann
2006-06-12T17:52:22Z

Siddha, Suresh B wrote:
> I don't think it is the problem with sched_balance_self(). sched_balance_self()
> probably is doing the right thing based on the load that is present at the
> time of fork/exec. Once the node-1 becomes idle, we expect the two threads
> on node-0 cpu-1 to get distributed between the two nodes.

That happens indeed. Problem with that is that the thread which gets
migrated from cpu1 (node0) to cpu3 (node1) ends up with memory for the
working set being allocated from node0 memory because it ran on node0
for a short time. Which is a noticable performance hit on a NUMA system.

I think the scheduler should try harder to spread the threads across
cpus in a way that they can stay on the initial cpu instead of migrating
them later on.

> In my opinion, this patch is not the correct fix for the issue.

Sure, it's sort-od band-aid fix, thats why I'm trying to find something
better.

cheers,

Gerd

--
Gerd Hoffmann <kraxel@suse.de>