Re: [patch 2/2] cpusets: add interleave_over_allowed option

Christoph Lameter
2007-10-27T06:07:39Z

On Fri, 26 Oct 2007, Paul Jackson wrote:

> Are you saying:
> 1) The kernel continues to default to Choice A, unless
> the flag enables Choice B, or
> 2) The kernel defaults to the new Choice B, unless the
> flag reverts to the old Choice A?

If 2) is keeping the API semantics then 2.

> Alternative (2) breaks libnuma and hence numactl until it is changed
> to use the flag, or changed to use choice B (in which case it wouldn't
> need the flag.)

2) keeps everything in order. Let everything be as it is today unless
numactl sets the new.

> So I guess you mean alternative (1) above, since you seem to be taking
> the position that we can't break compatibility here.

I am getting confused as to which alternative means what.

> Actually, alternative (1) is kinda ugly. It leaves a permanent wart
> on the set_mempolicy API -- two different variants to what the node
> numbers and node masks mean, depending on whether this MPOL_MF_RELATIVE
> is set on each call. We'll have to ship out an extra serving of brain
> food for most folks looking at this to have much chance that they will
> confidently understand the difference between the two options selected
> by this flag.

Tough. The API needs to remain stable. We can only change it through an
additional flag that enables the relativeness and the folding the way you
want it. libnuma may set the flag on its own without the user having to do
anything.

> I wonder if there might be some way to avoid that permanent ugly wart
> on each and every set/get mempolicy system call forever afterward.

Hmmm.. The alternative is to add new set/get mempolicy functions.