Messages in this thread | | | Date | Tue, 28 Jul 2009 09:25:29 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [BUG] set_mempolicy(MPOL_INTERLEAV) cause kernel panic |
| |
On Mon, 27 Jul 2009 17:14:32 -0700 (PDT) David Rientjes <rientjes@google.com> wrote:
> On Tue, 28 Jul 2009, KAMEZAWA Hiroyuki wrote: > > > > The nodemask for each task is updated to reflect the removal of a node and > > > it calls mpol_rebind_mm() with the new nodemask. > > > > > yes, but _not_ updated at online. > > > > Well, I disagreed that we needed to alter any pre-existing mempolicies for > MEM_GOING_ONLINE or MEM_ONLINE since it may diverge from the original > intent of the policy. MPOL_PREFERRED certain shouldn't change, > MPOL_INTERLEAVE would be unbalanced, and MPOL_BIND could diverge from > memory isolation or affinity requirements. > > I'd be interested to hear any real world use cases for MEM_ONLINE updating > of mempolicies. > Sorry, I was a bit condused. I thought I said about task->mems_allowed. Not each policy.
Because we dont' update, task->mems_allowed need to be initilaized as N_POSSIBLE_NODES. At usual thinking, it should be N_HIGH_MEMORY or N_ONLINE_NODES, as my patch does.
> > What I felt at reading cpuset/mempolicy again is that it's too complex ;) > > The 1st question is why mems_allowed which can be 1024bytes when max_node=4096 > > is copied per tasks.... > > The page allocator needs lockless access to mems_allowed. > Hmm, ok, I'll take care of that.
Thanks, -Kame
| |