diff options
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -333,7 +333,7 @@ static __always_inline int index_of(const size_t size) | |||
333 | return i; \ | 333 | return i; \ |
334 | else \ | 334 | else \ |
335 | i++; | 335 | i++; |
336 | #include "linux/kmalloc_sizes.h" | 336 | #include <linux/kmalloc_sizes.h> |
337 | #undef CACHE | 337 | #undef CACHE |
338 | __bad_size(); | 338 | __bad_size(); |
339 | } else | 339 | } else |
@@ -2964,11 +2964,10 @@ static void *cache_alloc_refill(struct kmem_cache *cachep, gfp_t flags) | |||
2964 | struct array_cache *ac; | 2964 | struct array_cache *ac; |
2965 | int node; | 2965 | int node; |
2966 | 2966 | ||
2967 | node = numa_node_id(); | 2967 | retry: |
2968 | |||
2969 | check_irq_off(); | 2968 | check_irq_off(); |
2969 | node = numa_node_id(); | ||
2970 | ac = cpu_cache_get(cachep); | 2970 | ac = cpu_cache_get(cachep); |
2971 | retry: | ||
2972 | batchcount = ac->batchcount; | 2971 | batchcount = ac->batchcount; |
2973 | if (!ac->touched && batchcount > BATCHREFILL_LIMIT) { | 2972 | if (!ac->touched && batchcount > BATCHREFILL_LIMIT) { |
2974 | /* | 2973 | /* |
@@ -3280,7 +3279,7 @@ retry: | |||
3280 | if (local_flags & __GFP_WAIT) | 3279 | if (local_flags & __GFP_WAIT) |
3281 | local_irq_enable(); | 3280 | local_irq_enable(); |
3282 | kmem_flagcheck(cache, flags); | 3281 | kmem_flagcheck(cache, flags); |
3283 | obj = kmem_getpages(cache, flags, -1); | 3282 | obj = kmem_getpages(cache, local_flags, -1); |
3284 | if (local_flags & __GFP_WAIT) | 3283 | if (local_flags & __GFP_WAIT) |
3285 | local_irq_disable(); | 3284 | local_irq_disable(); |
3286 | if (obj) { | 3285 | if (obj) { |