X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=mm%2Fmempolicy.c;h=bd92431d4c49a8e29f4b46d50d6d0e66c69098d5;hb=3e9a97082fa639394e905e1fc4a0a7f719ca7644;hp=1d771e4200d222eea46458bdd6089279a78ffeb5;hpb=314820c9e892d8f41ba4db300ec96770d9c8294b;p=~andy%2Flinux diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 1d771e4200d..bd92431d4c4 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1602,8 +1602,14 @@ static unsigned interleave_nodes(struct mempolicy *policy) * task can change it's policy. The system default policy requires no * such protection. */ -unsigned slab_node(struct mempolicy *policy) +unsigned slab_node(void) { + struct mempolicy *policy; + + if (in_interrupt()) + return numa_node_id(); + + policy = current->mempolicy; if (!policy || policy->flags & MPOL_F_LOCAL) return numa_node_id();