diff options
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -3073,7 +3073,7 @@ static void *fallback_alloc(struct kmem_cache *cache, gfp_t flags) | |||
3073 | local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK); | 3073 | local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK); |
3074 | 3074 | ||
3075 | retry_cpuset: | 3075 | retry_cpuset: |
3076 | cpuset_mems_cookie = get_mems_allowed(); | 3076 | cpuset_mems_cookie = read_mems_allowed_begin(); |
3077 | zonelist = node_zonelist(slab_node(), flags); | 3077 | zonelist = node_zonelist(slab_node(), flags); |
3078 | 3078 | ||
3079 | retry: | 3079 | retry: |
@@ -3131,7 +3131,7 @@ retry: | |||
3131 | } | 3131 | } |
3132 | } | 3132 | } |
3133 | 3133 | ||
3134 | if (unlikely(!put_mems_allowed(cpuset_mems_cookie) && !obj)) | 3134 | if (unlikely(!obj && read_mems_allowed_retry(cpuset_mems_cookie))) |
3135 | goto retry_cpuset; | 3135 | goto retry_cpuset; |
3136 | return obj; | 3136 | return obj; |
3137 | } | 3137 | } |