Re: fair group scheduler not so fair?

From: Chris Friesen
Date: Thu May 22 2008 - 20:18:13 EST


Peter Zijlstra wrote:

Given the following:

root
/ | \
_A_ 1 2
/| |\
3 4 5 B
/ \
6 7

CPU0 CPU1
root root
/ \ / \
A 1 A 2
/ \ / \
4 B 3 5
/ \
6 7

How do you move specific groups to different cpus. Is this simply using cpusets?


Numerical examples given the above scenario, assuming every body's
weight is 1024:

s_(0,A) = s_(1,A) = 512

Just to make sure I understand what's going on...this is half of 1024 because it shows up on both cpus?

s_(0,B) = 1024, s_(1,B) = 0

This gets the full 1024 because it's only on one cpu.

rw_(0,A) = rw(1,A) = 2048
rw_(0,B) = 2048, rw_(1,B) = 0

How do we get 2048? Shouldn't this be 1024?

h_load_(0,A) = h_load_(1,A) = 512
h_load_(0,B) = 256, h_load(1,B) = 0

At this point the numbers make sense, but I'm not sure how the formula for h_load_ works given that I'm not sure what's going on for rw_.

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/