From: Robin Holt on
On Wed, Apr 28, 2010 at 03:40:34PM -0700, Andrew Morton wrote:
> On Wed, 28 Apr 2010 10:04:32 -0500
> Jack Steiner <steiner(a)> wrote:
> > Some workloads that create a large number of small files tend to assign
> > too many pages to node 0 (multi-node systems). Part of the reason is that
> > the rotor (in cpuset_mem_spread_node()) used to assign nodes starts
> > at node 0 for newly created tasks.
> And, presumably, your secret testcase forks lots of subprocesses which
> do the file creation?

I think the test case he was using was aim7 or a kernel compile.
Anything that opens a lot of small files will quickly deplete node 0.

> > This patch changes the rotor to be initialized to a random node number
> > of the cpuset.
> Why random as opposed to, say, inherit-rotor-from-parent?

If I have something like a find ... -exec grep ..., won't the pages
be biased towards the nodes adjacent to the parent's rotor values.
Maybe I misunderstood Jack's problem, but I believe that was what he
was seeing and why he chose random.

I hope I did not misunderstand Jack's problem and mislead this discussion.

Robin Holt
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)
More majordomo info at
Please read the FAQ at