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/