aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/mempolicy.c3
-rw-r--r--mm/slab.c2
2 files changed, 1 insertions, 4 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 71430d440822..73790188b0eb 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -982,9 +982,6 @@ static unsigned interleave_nodes(struct mempolicy *policy)
982 */ 982 */
983unsigned slab_node(struct mempolicy *policy) 983unsigned slab_node(struct mempolicy *policy)
984{ 984{
985 if (in_interrupt())
986 return numa_node_id();
987
988 switch (policy->policy) { 985 switch (policy->policy) {
989 case MPOL_INTERLEAVE: 986 case MPOL_INTERLEAVE:
990 return interleave_nodes(policy); 987 return interleave_nodes(policy);
diff --git a/mm/slab.c b/mm/slab.c
index 9025608696ec..6f8495e2185b 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2574,7 +2574,7 @@ static inline void *____cache_alloc(kmem_cache_t *cachep, gfp_t flags)
2574 struct array_cache *ac; 2574 struct array_cache *ac;
2575 2575
2576#ifdef CONFIG_NUMA 2576#ifdef CONFIG_NUMA
2577 if (current->mempolicy) { 2577 if (unlikely(current->mempolicy && !in_interrupt())) {
2578 int nid = slab_node(current->mempolicy); 2578 int nid = slab_node(current->mempolicy);
2579 2579
2580 if (nid != numa_node_id()) 2580 if (nid != numa_node_id())