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

From: Lee Schermerhorn
Date: Wed Jul 15 2009 - 13:52:37 EST


On Wed, 2009-07-15 at 18:48 +0900, KOSAKI Motohiro wrote:
> Hi
>
> On 2.6.31-rc3, following test makes kernel panic immediately.
>
> numactl --interleave=all echo
>
> Panic message is below. I don't think commit 58568d2a8 is correct patch.
>
> old behavior:
> do_set_mempolicy
> mpol_new
> cpuset_update_task_memory_state
> guarantee_online_mems
> nodes_and(cs->mems_allowed, node_states[N_HIGH_MEMORY]);
>
> but new code doesn't consider N_HIGH_MEMORY. Then, the userland program
> passing non-online node bit makes crash, I guess.
>
> Miao, What do you think?

This looks similar to the problem I tried to fix in:

http://marc.info/?l=linux-mm&m=124140637722309&w=4

Miao pointed out that the patch needs more work to track hot plug of
nodes. I've not had time to get back to this.

Interestingly, on ia64, the top cpuset mems_allowed gets set to all
possible nodes, while on x86_64, it gets set to on-line nodes [or nodes
with memory]. Maybe this is a to support hot-plug?

Lee

<snip>

--
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/