About CPU's Load Balance and CFS functions

From: lookeylam
Date: Mon Sep 07 2009 - 04:14:50 EST


Hello:
I am not sure this is the right maillist to ask this question. I just have a try.
I have a test on Dell 1950 with 8 cpus on board for testing the apache by ab command. And I find that in
linux 2.6.18. The processes forked by apache are not well distributed on these 8 cpus.
linux 2.6.23 is a little better than 2.6.18, but still some cpus are running busy and some cpus remains idle.
While in 2.6.30, these 8 cpus are well used and the percentage of each cpu is nearly the same. And when I
start the control group with cpuset type with sched_relax_domain_level( with value 3,4,5). The result of ab is 50ms better than test results without control group.

I attribute this situation to to load_balance but not CFS, because CFS is just a scheduler for orgnizing the process inside one cpu, while load_balance is the main character to control the process and load between different cpus.
But when i give out this conclusion, I confuse about the differences of these three kernels of load_balance.

My questions are the above conclusion is right or not? How would these situation happen and why? I read the code of the kernel but I am still not sure.

Thanks.


--
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/