Re: fair group scheduler not so fair?
From: Chris Friesen
Date: Thu May 22 2008 - 16:02:59 EST
Peter Zijlstra wrote:
Could you see if the patches found here:
http://programming.kicks-ass.net/kernel-patches/sched-smp-group-fixes/
make any difference for you?
Not much difference. In the following case pid 2438 is in group "a" and
pids 2439/2440 are in group "b". Pid 2438 still gets stuck with only 66%.
2439 cfriesen 20 0 3800 392 336 R 99.7 0.0 3:17.37 cat
2438 cfriesen 20 0 3800 392 336 R 66.2 0.0 2:33.63 cat
2440 cfriesen 20 0 3800 392 336 R 33.6 0.0 1:47.53 cat
With 3 tasks in group a, 2 in group b, it's still pretty poor:
2514 cfriesen 20 0 3800 392 336 R 52.5 0.0 0:48.11 cat
2515 cfriesen 20 0 3800 392 336 R 50.2 0.0 0:42.53 cat
2439 cfriesen 20 0 3800 392 336 R 35.4 0.0 4:37.07 cat
2438 cfriesen 20 0 3800 392 336 R 33.3 0.0 3:34.97 cat
2440 cfriesen 20 0 3800 392 336 R 28.3 0.0 2:26.17 cat
If I boot with "nosmp" it behaves more or less as expected:
3 tasks in default:
2427 cfriesen 20 0 3800 392 336 R 33.7 0.0 0:36.54 cat
2429 cfriesen 20 0 3800 392 336 R 33.5 0.0 0:35.63 cat
2428 cfriesen 20 0 3800 392 336 R 32.9 0.0 0:35.84 cat
1 task in a, 2 in b:
2427 cfriesen 20 0 3800 392 336 R 49.8 0.0 1:45.74 cat
2428 cfriesen 20 0 3800 392 336 R 25.0 0.0 1:38.65 cat
2429 cfriesen 20 0 3800 392 336 R 25.0 0.0 1:38.18 cat
3 tasks in a, 2 in b:
2521 cfriesen 20 0 3800 392 336 R 25.2 0.0 0:08.52 cat
2522 cfriesen 20 0 3800 392 336 R 25.2 0.0 0:08.23 cat
2427 cfriesen 20 0 3800 392 336 R 16.6 0.0 1:59.39 cat
2429 cfriesen 20 0 3800 392 336 R 16.6 0.0 1:47.63 cat
2428 cfriesen 20 0 3800 392 336 R 16.4 0.0 1:48.65 cat
I haven't really dug into the scheduler yet (although that's next), but
based on these results it doesn't really look like the load balancer is
properly group-aware.
Chris
--
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/