Re: [patch 3/3] cpusets: add memory_spread_user option

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Paul Jackson
Date: Friday, October 26, 2007 - 10:18 am

pj wrote:

Thinking about this some more ... there's daylight here!

I'll see if I can code up a patch for this now, but the idea is
to allow user code to specify any nodemask to a set_mempolicy
MPOL_INTERLEAVE call, even including nodes not in their cpuset,
and then (1) use nodes_remap() to fold that mask down to whatever
is their current cpuset (2) remember what they passed in and use
it again with nodes_remap() to re-fold that mask down, anytime
the cpuset changes.

For example, if they pass in a mask with all bits sets, then they
get interleave over all the nodes in their current cpuset, even as
that cpuset changes.  If they pass in a mask with say just two
bits set, then they will get interleave over just two nodes anytime
they are in a cpuset with two or more nodes (when in a single node
cpuset, they will of course get no interleave, for lack of anything
to interleave over.)

This should replace the patches that David is proposing here.  It should
replace what Lee is proposing.  It should work with libnuma and be
fully upward compatible with current code (except perhaps code that
depends on getting an error from requesting MPOL_INTERLEAVE on a node
not allowed.)

And instead of just covering the special case of "interleave over all
available nodes" it should cover the more general case of interleaving
over any subset of nodes, folded or replicated to handle being in any
cpuset.

-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 2/3] mempolicy: mpol_rebind_policy cleanup, David Rientjes, (Thu Oct 25, 7:14 pm)
[patch 3/3] cpusets: add memory_spread_user option, David Rientjes, (Thu Oct 25, 7:14 pm)
Re: [patch 2/3] mempolicy: mpol_rebind_policy cleanup, Paul Jackson, (Thu Oct 25, 7:46 pm)
Re: [patch 3/3] cpusets: add memory_spread_user option, Paul Jackson, (Thu Oct 25, 11:04 pm)
Re: [patch 3/3] cpusets: add memory_spread_user option, David Rientjes, (Fri Oct 26, 2:23 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Paul Jackson, (Fri Oct 26, 2:56 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Paul Jackson, (Fri Oct 26, 10:18 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Christoph Lameter, (Fri Oct 26, 10:39 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Paul Jackson, (Fri Oct 26, 10:43 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Lee Schermerhorn, (Fri Oct 26, 10:43 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Paul Jackson, (Fri Oct 26, 10:54 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Christoph Lameter, (Fri Oct 26, 11:00 am)
Re: [patch 3/3] cpusets: add memory_spread_user option, Lee Schermerhorn, (Fri Oct 26, 1:39 pm)
Re: [patch 3/3] cpusets: add memory_spread_user option, David Rientjes, (Fri Oct 26, 1:41 pm)