From ba947c104870cdc2cd29fd35ec54ea9a62bec5f6 Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Wed, 18 Jan 2006 17:42:37 -0800 Subject: [PATCH] --- yaml --- r: 18912 b: refs/heads/master c: 86c562a9d6683063e071692fe14e0a18e64ee1be h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/mempolicy.c | 3 --- trunk/mm/slab.c | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index a621acde1dfd..66e636d767e3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dc85da15d42b0efc792b0f5eab774dc5dbc1ceec +refs/heads/master: 86c562a9d6683063e071692fe14e0a18e64ee1be diff --git a/trunk/mm/mempolicy.c b/trunk/mm/mempolicy.c index 71430d440822..73790188b0eb 100644 --- a/trunk/mm/mempolicy.c +++ b/trunk/mm/mempolicy.c @@ -982,9 +982,6 @@ static unsigned interleave_nodes(struct mempolicy *policy) */ unsigned slab_node(struct mempolicy *policy) { - if (in_interrupt()) - return numa_node_id(); - switch (policy->policy) { case MPOL_INTERLEAVE: return interleave_nodes(policy); diff --git a/trunk/mm/slab.c b/trunk/mm/slab.c index 9025608696ec..6f8495e2185b 100644 --- a/trunk/mm/slab.c +++ b/trunk/mm/slab.c @@ -2574,7 +2574,7 @@ static inline void *____cache_alloc(kmem_cache_t *cachep, gfp_t flags) struct array_cache *ac; #ifdef CONFIG_NUMA - if (current->mempolicy) { + if (unlikely(current->mempolicy && !in_interrupt())) { int nid = slab_node(current->mempolicy); if (nid != numa_node_id())