Re: [PATCH 1/5] cpuset memory spread basic implementation

From: Ingo Molnar
Date: Mon Feb 06 2006 - 03:51:23 EST



* Paul Jackson <pj@xxxxxxx> wrote:

> Ingo asked:
> > so in practice, the memory spreading is in fact a global setting, used
> > by all cpusets that matter?
>
> I don't know if that is true or not.
>
> I'll have to ask my field engineers, who actually have experience
> with a variety of customer workloads.
>
> ... well, I do have partial knowledge of this.
>
> When I was coding this, I suggested that instead of picking some of the
> slab caches to memory spread, we pick them all, as that would be easier
> to code.
>
> That suggestion was shot down by others more experienced within SGI,
> as some slab caches hold what is essentially per-thread data, that is
> fairly hot in the thread context that allocated it. Spreading that
> data would quite predictably increase cross-node bus traffic, which is
> bad.

yes, but still that is a global attribute: we know that those slabs are
fundamentally per-thread. They wont ever be non-per-thread. So the
decision could be made via a per-slab attribute, that is picked by
kernel developers (initially you). The pagecache would be spread-out if
this .config option is specified. This makes it a much cleaner static
'kernel fairness policy' thing, instead of a fuzzier userspace thing.

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