On Thu, 25 Oct 2007, Paul Jackson wrote: > Can we call this "memory_spread_user" instead, or something else > matching "memory_spread_*" ? >
Sounds better. I was hoping somebody was going to come forward with an alternative that sounded better than interleave_over_allowed. > How about instead of your current_cpuset_interleaved_mems() routine > that returns a nodemask, rather have a routine that returns a Boolean, > indicating whether this new flag is set, used as in: > if (cpuset_is_memory_spread_user()) > tmp = cpuset_current_mems_allowed(); > else > nodes_remap(tmp, pol->v.nodes, *mpolmask, *newmask); > pol->v.nodes = tmp; > That sounds reasonable, it will simply be a wrapper around is_interleave_over_allowed() or what we're now calling is_spread_user(). > The existing kernel code for mm/mempolicy.c:mpol_rebind_policy() > looks buggy to me. The node_remap() call for the MPOL_INTERLEAVE > case seems like it should come before, not after, updating mpolmask > to the newmask. Fixing that, and consolidating the multiple lines > doing "*mpolmask = *newmask" for each case, into a single such line > at the end of the switch(){} statement, results in the following > patch. Could you confirm my suspicions and push this one too. > It should be a part of your patch set, so we don't waste Andrew's > time resolving the inevitable patch collisions we'll see otherwise. > For setting current->il_next, both cases work but yours will be better balanced for the next interleaved allocation. I'll apply it to my patchset. Thanks for the review. David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/