Thread (16 messages) 16 messages, 5 authors, 2007-08-21

Re: cpusets vs. mempolicy and how to get interleaving

From: Ethan Solomita <hidden>
Date: 2007-08-20 00:53:24

David Rientjes wrote:
On Fri, 17 Aug 2007, Ethan Solomita wrote:
quoted
    Ideally, we want a task to express its preference for interleaved memory
allocations without having to provide a list of nodes. The kernel will
automatically round-robin amongst the task's mems_allowed.

    At least in our environment, an independent "cpuset manager" process may
choose to rewrite a cpuset's mems file at any time, possibly increasing or
decreasing the number of available nodes. If weight(mems_allowed) is
decreased, the task's MPOL_INTERLEAVE policy's nodemask will be shrunk to fit
the new mems_allowed. If weight(mems_allowed) is grown, the policy's nodemask
will not gain new nodes.
This is not unlike the traditional use of cpusets; a cpuset's mems_allowed 
may be freely changed at any time.

If the weight of a task's mems_allowed decreases, you would want a simple 
remap from the old nodemask to the new nodemask.  node_remap() provides 
this functionality already.
	And what happens when the weight then goes back up? e.g. at first the 
mems_allowed specifies nodes 0 and 1, and the user sets a 
MPOL_INTERLEAVE policy across nodes 0 and 1. At some point the "cpuset 
manager" shrinks the number of nodes to just node 0, then later it adds 
back node 1. What nodes are in my MPOL_INTERLEAVE policy?

	As I read the code, I'll only have one node in the mempolicy. If that's 
true, this doesn't do what I want.
	-- Ethan

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help