Re: [BUG] set_mempolicy(MPOL_INTERLEAV) cause kernel panic

From: KOSAKI Motohiro
Date: Sat Jul 25 2009 - 09:21:44 EST


2009/07/25 12:15 に KAMEZAWA Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx> さんは書きました:
> KAMEZAWA Hiroyuki wrote:
>> KAMEZAWA Hiroyuki wrote:
>> Then, here is a much easier fix. for trusting cpuset more.
>>
> just a memo about memory hotplug
>
> _Direct_ use of task->mems_allowed is only in cpuset and mempolicy.
> If no policy is used, it's not checked.
> (See alloc_pages_current())
>
> memory hotplug's notifier just updates top_cpuset's mems_allowed.
> But it doesn't update each task's ones.
> Then, task's bahavior is
>
> - tasks which don't use mempolicy will use all nodes, N_HIGH_MEMORY.
> - tasks under cpuset will be controlled under their own cpuset.
> - tasks under mempolicy will use their own policy.
> but no new policy is re-calculated and, then, no new mask.
>
> Now, even if all memory on nodes a removed, pgdat just remains.
> Then, cpuset/mempolicy will never access NODE_DATA(nid) which is NULL.

Umm..
I don't think this is optimal behavior. but if hotplug guys agree
this, I agree this too.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/