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

Paul Jackson
2007-10-27T08:37:32Z

> > 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.

No .. (1) keeps the same API semantics.

> Let everything be as it is today unless
> numactl sets the new.
> ...
> Tough. The API needs to remain stable.

Good - that I understand. Your position is clear now.

You have chosen (1) above, which keeps Choice A as the default.

Before I leave this part, there is one more thing I kinda really need,
if you could, Christoph. Could you describe in your own words what you
think Choices A and B mean? We seem to be having trouble communicating,
and hence there is some risk right now that we don't mean the same thing
by this new "Choice B".

===

Now ... onto the matter of permanent API warts:

> > 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.

Other alternatives include a per-system, per-cpuset or per-process
flag, in addition to the per-system call flag you suggested earlier
(MPOL_MF_RELATIVE), or whatever you mean by "new set/get mempolicy
functions" ... could you elaborate on that one?

So ... the question becomes this:

How do we migrate to Choice B, without leaving both Choices
permanently supported, and an ugly mode flag selecting the
non-default Choice, while not breaking API's too abruptly?

Thanks.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.925.600.0401