Re: [BUG] set_mempolicy(MPOL_INTERLEAV) cause kernel panic
From: KAMEZAWA Hiroyuki
Date: Fri Jul 24 2009 - 23:17:08 EST
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.
Thanks,
-Kame
--
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/