aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Hocko <mhocko@suse.com>2017-09-13 19:28:29 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-13 21:53:16 -0400
commit0ee931c4e31a5efb134c76440405e9219f896e33 (patch)
treef87f98163759237da6f062bdec1cbe620f166b50
parentd0dbf771309fecd73f4ac1566c1400cb12807ee2 (diff)
mm: treewide: remove GFP_TEMPORARY allocation flag
GFP_TEMPORARY was introduced by commit e12ba74d8ff3 ("Group short-lived and reclaimable kernel allocations") along with __GFP_RECLAIMABLE. It's primary motivation was to allow users to tell that an allocation is short lived and so the allocator can try to place such allocations close together and prevent long term fragmentation. As much as this sounds like a reasonable semantic it becomes much less clear when to use the highlevel GFP_TEMPORARY allocation flag. How long is temporary? Can the context holding that memory sleep? Can it take locks? It seems there is no good answer for those questions. The current implementation of GFP_TEMPORARY is basically GFP_KERNEL | __GFP_RECLAIMABLE which in itself is tricky because basically none of the existing caller provide a way to reclaim the allocated memory. So this is rather misleading and hard to evaluate for any benefits. I have checked some random users and none of them has added the flag with a specific justification. I suspect most of them just copied from other existing users and others just thought it might be a good idea to use without any measuring. This suggests that GFP_TEMPORARY just motivates for cargo cult usage without any reasoning. I believe that our gfp flags are quite complex already and especially those with highlevel semantic should be clearly defined to prevent from confusion and abuse. Therefore I propose dropping GFP_TEMPORARY and replace all existing users to simply use GFP_KERNEL. Please note that SLAB users with shrinkers will still get __GFP_RECLAIMABLE heuristic and so they will be placed properly for memory fragmentation prevention. I can see reasons we might want some gfp flag to reflect shorterm allocations but I propose starting from a clear semantic definition and only then add users with proper justification. This was been brought up before LSF this year by Matthew [1] and it turned out that GFP_TEMPORARY really doesn't have a clear semantic. It seems to be a heuristic without any measured advantage for most (if not all) its current users. The follow up discussion has revealed that opinions on what might be temporary allocation differ a lot between developers. So rather than trying to tweak existing users into a semantic which they haven't expected I propose to simply remove the flag and start from scratch if we really need a semantic for short term allocations. [1] http://lkml.kernel.org/r/20170118054945.GD18349@bombadil.infradead.org [akpm@linux-foundation.org: fix typo] [akpm@linux-foundation.org: coding-style fixes] [sfr@canb.auug.org.au: drm/i915: fix up] Link: http://lkml.kernel.org/r/20170816144703.378d4f4d@canb.auug.org.au Link: http://lkml.kernel.org/r/20170728091904.14627-1-mhocko@kernel.org Signed-off-by: Michal Hocko <mhocko@suse.com> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Mel Gorman <mgorman@suse.de> Acked-by: Vlastimil Babka <vbabka@suse.cz> Cc: Matthew Wilcox <willy@infradead.org> Cc: Neil Brown <neilb@suse.de> Cc: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/arc/kernel/setup.c2
-rw-r--r--arch/arc/kernel/troubleshoot.c2
-rw-r--r--arch/powerpc/kernel/rtas.c4
-rw-r--r--arch/powerpc/platforms/pseries/suspend.c2
-rw-r--r--drivers/gpu/drm/drm_blend.c2
-rw-r--r--drivers/gpu/drm/drm_dp_dual_mode_helper.c2
-rw-r--r--drivers/gpu/drm/drm_scdc_helper.c2
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c2
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c2
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c12
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c2
-rw-r--r--drivers/gpu/drm/i915/i915_gem_userptr.c4
-rw-r--r--drivers/gpu/drm/i915/i915_gpu_error.c6
-rw-r--r--drivers/gpu/drm/i915/selftests/i915_random.c2
-rw-r--r--drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c10
-rw-r--r--drivers/gpu/drm/i915/selftests/intel_uncore.c2
-rw-r--r--drivers/gpu/drm/lib/drm_random.c2
-rw-r--r--drivers/gpu/drm/msm/msm_gem_submit.c2
-rw-r--r--drivers/gpu/drm/selftests/test-drm_mm.c4
-rw-r--r--drivers/misc/cxl/pci.c2
-rw-r--r--drivers/xen/gntalloc.c2
-rw-r--r--fs/coredump.c2
-rw-r--r--fs/exec.c4
-rw-r--r--fs/overlayfs/copy_up.c2
-rw-r--r--fs/overlayfs/dir.c2
-rw-r--r--fs/overlayfs/namei.c12
-rw-r--r--fs/proc/base.c8
-rw-r--r--fs/proc/task_mmu.c2
-rw-r--r--include/linux/gfp.h2
-rw-r--r--include/trace/events/mmflags.h1
-rw-r--r--kernel/locking/test-ww_mutex.c2
-rw-r--r--kernel/trace/trace_events_filter.c2
-rw-r--r--lib/string_helpers.c4
-rw-r--r--mm/shmem.c2
-rw-r--r--mm/slub.c2
-rw-r--r--tools/perf/builtin-kmem.c1
36 files changed, 57 insertions, 61 deletions
diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c
index c4ffb441716c..877cec8f5ea2 100644
--- a/arch/arc/kernel/setup.c
+++ b/arch/arc/kernel/setup.c
@@ -510,7 +510,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
510 goto done; 510 goto done;
511 } 511 }
512 512
513 str = (char *)__get_free_page(GFP_TEMPORARY); 513 str = (char *)__get_free_page(GFP_KERNEL);
514 if (!str) 514 if (!str)
515 goto done; 515 goto done;
516 516
diff --git a/arch/arc/kernel/troubleshoot.c b/arch/arc/kernel/troubleshoot.c
index 7e94476f3994..7d8c1d6c2f60 100644
--- a/arch/arc/kernel/troubleshoot.c
+++ b/arch/arc/kernel/troubleshoot.c
@@ -178,7 +178,7 @@ void show_regs(struct pt_regs *regs)
178 struct callee_regs *cregs; 178 struct callee_regs *cregs;
179 char *buf; 179 char *buf;
180 180
181 buf = (char *)__get_free_page(GFP_TEMPORARY); 181 buf = (char *)__get_free_page(GFP_KERNEL);
182 if (!buf) 182 if (!buf)
183 return; 183 return;
184 184
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index b8a4987f58cf..1643e9e53655 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -914,7 +914,7 @@ int rtas_online_cpus_mask(cpumask_var_t cpus)
914 if (ret) { 914 if (ret) {
915 cpumask_var_t tmp_mask; 915 cpumask_var_t tmp_mask;
916 916
917 if (!alloc_cpumask_var(&tmp_mask, GFP_TEMPORARY)) 917 if (!alloc_cpumask_var(&tmp_mask, GFP_KERNEL))
918 return ret; 918 return ret;
919 919
920 /* Use tmp_mask to preserve cpus mask from first failure */ 920 /* Use tmp_mask to preserve cpus mask from first failure */
@@ -962,7 +962,7 @@ int rtas_ibm_suspend_me(u64 handle)
962 return -EIO; 962 return -EIO;
963 } 963 }
964 964
965 if (!alloc_cpumask_var(&offline_mask, GFP_TEMPORARY)) 965 if (!alloc_cpumask_var(&offline_mask, GFP_KERNEL))
966 return -ENOMEM; 966 return -ENOMEM;
967 967
968 atomic_set(&data.working, 0); 968 atomic_set(&data.working, 0);
diff --git a/arch/powerpc/platforms/pseries/suspend.c b/arch/powerpc/platforms/pseries/suspend.c
index e76aefae2aa2..89726f07d249 100644
--- a/arch/powerpc/platforms/pseries/suspend.c
+++ b/arch/powerpc/platforms/pseries/suspend.c
@@ -151,7 +151,7 @@ static ssize_t store_hibernate(struct device *dev,
151 if (!capable(CAP_SYS_ADMIN)) 151 if (!capable(CAP_SYS_ADMIN))
152 return -EPERM; 152 return -EPERM;
153 153
154 if (!alloc_cpumask_var(&offline_mask, GFP_TEMPORARY)) 154 if (!alloc_cpumask_var(&offline_mask, GFP_KERNEL))
155 return -ENOMEM; 155 return -ENOMEM;
156 156
157 stream_id = simple_strtoul(buf, NULL, 16); 157 stream_id = simple_strtoul(buf, NULL, 16);
diff --git a/drivers/gpu/drm/drm_blend.c b/drivers/gpu/drm/drm_blend.c
index db6aeec50b82..2e5e089dd912 100644
--- a/drivers/gpu/drm/drm_blend.c
+++ b/drivers/gpu/drm/drm_blend.c
@@ -319,7 +319,7 @@ static int drm_atomic_helper_crtc_normalize_zpos(struct drm_crtc *crtc,
319 DRM_DEBUG_ATOMIC("[CRTC:%d:%s] calculating normalized zpos values\n", 319 DRM_DEBUG_ATOMIC("[CRTC:%d:%s] calculating normalized zpos values\n",
320 crtc->base.id, crtc->name); 320 crtc->base.id, crtc->name);
321 321
322 states = kmalloc_array(total_planes, sizeof(*states), GFP_TEMPORARY); 322 states = kmalloc_array(total_planes, sizeof(*states), GFP_KERNEL);
323 if (!states) 323 if (!states)
324 return -ENOMEM; 324 return -ENOMEM;
325 325
diff --git a/drivers/gpu/drm/drm_dp_dual_mode_helper.c b/drivers/gpu/drm/drm_dp_dual_mode_helper.c
index 80e62f669321..0ef9011a1856 100644
--- a/drivers/gpu/drm/drm_dp_dual_mode_helper.c
+++ b/drivers/gpu/drm/drm_dp_dual_mode_helper.c
@@ -111,7 +111,7 @@ ssize_t drm_dp_dual_mode_write(struct i2c_adapter *adapter,
111 void *data; 111 void *data;
112 int ret; 112 int ret;
113 113
114 data = kmalloc(msg.len, GFP_TEMPORARY); 114 data = kmalloc(msg.len, GFP_KERNEL);
115 if (!data) 115 if (!data)
116 return -ENOMEM; 116 return -ENOMEM;
117 117
diff --git a/drivers/gpu/drm/drm_scdc_helper.c b/drivers/gpu/drm/drm_scdc_helper.c
index 7d1b0f011d33..935653eb3616 100644
--- a/drivers/gpu/drm/drm_scdc_helper.c
+++ b/drivers/gpu/drm/drm_scdc_helper.c
@@ -102,7 +102,7 @@ ssize_t drm_scdc_write(struct i2c_adapter *adapter, u8 offset,
102 void *data; 102 void *data;
103 int err; 103 int err;
104 104
105 data = kmalloc(1 + size, GFP_TEMPORARY); 105 data = kmalloc(1 + size, GFP_KERNEL);
106 if (!data) 106 if (!data)
107 return -ENOMEM; 107 return -ENOMEM;
108 108
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
index a7ff2e4c00d2..026ef4e02f85 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
@@ -37,7 +37,7 @@ static struct etnaviv_gem_submit *submit_create(struct drm_device *dev,
37 struct etnaviv_gem_submit *submit; 37 struct etnaviv_gem_submit *submit;
38 size_t sz = size_vstruct(nr, sizeof(submit->bos[0]), sizeof(*submit)); 38 size_t sz = size_vstruct(nr, sizeof(submit->bos[0]), sizeof(*submit));
39 39
40 submit = kmalloc(sz, GFP_TEMPORARY | __GFP_NOWARN | __GFP_NORETRY); 40 submit = kmalloc(sz, GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY);
41 if (submit) { 41 if (submit) {
42 submit->dev = dev; 42 submit->dev = dev;
43 submit->gpu = gpu; 43 submit->gpu = gpu;
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 57317715977f..19404c96eeb1 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2540,7 +2540,7 @@ static void *i915_gem_object_map(const struct drm_i915_gem_object *obj,
2540 2540
2541 if (n_pages > ARRAY_SIZE(stack_pages)) { 2541 if (n_pages > ARRAY_SIZE(stack_pages)) {
2542 /* Too big for stack -- allocate temporary array instead */ 2542 /* Too big for stack -- allocate temporary array instead */
2543 pages = kvmalloc_array(n_pages, sizeof(*pages), GFP_TEMPORARY); 2543 pages = kvmalloc_array(n_pages, sizeof(*pages), GFP_KERNEL);
2544 if (!pages) 2544 if (!pages)
2545 return NULL; 2545 return NULL;
2546 } 2546 }
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 50d5e24f91a9..92437f455b43 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -293,7 +293,7 @@ static int eb_create(struct i915_execbuffer *eb)
293 * as possible to perform the allocation and warn 293 * as possible to perform the allocation and warn
294 * if it fails. 294 * if it fails.
295 */ 295 */
296 flags = GFP_TEMPORARY; 296 flags = GFP_KERNEL;
297 if (size > 1) 297 if (size > 1)
298 flags |= __GFP_NORETRY | __GFP_NOWARN; 298 flags |= __GFP_NORETRY | __GFP_NOWARN;
299 299
@@ -1515,7 +1515,7 @@ static int eb_copy_relocations(const struct i915_execbuffer *eb)
1515 urelocs = u64_to_user_ptr(eb->exec[i].relocs_ptr); 1515 urelocs = u64_to_user_ptr(eb->exec[i].relocs_ptr);
1516 size = nreloc * sizeof(*relocs); 1516 size = nreloc * sizeof(*relocs);
1517 1517
1518 relocs = kvmalloc_array(size, 1, GFP_TEMPORARY); 1518 relocs = kvmalloc_array(size, 1, GFP_KERNEL);
1519 if (!relocs) { 1519 if (!relocs) {
1520 kvfree(relocs); 1520 kvfree(relocs);
1521 err = -ENOMEM; 1521 err = -ENOMEM;
@@ -2077,7 +2077,7 @@ get_fence_array(struct drm_i915_gem_execbuffer2 *args,
2077 return ERR_PTR(-EFAULT); 2077 return ERR_PTR(-EFAULT);
2078 2078
2079 fences = kvmalloc_array(args->num_cliprects, sizeof(*fences), 2079 fences = kvmalloc_array(args->num_cliprects, sizeof(*fences),
2080 __GFP_NOWARN | GFP_TEMPORARY); 2080 __GFP_NOWARN | GFP_KERNEL);
2081 if (!fences) 2081 if (!fences)
2082 return ERR_PTR(-ENOMEM); 2082 return ERR_PTR(-ENOMEM);
2083 2083
@@ -2463,9 +2463,9 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
2463 2463
2464 /* Copy in the exec list from userland */ 2464 /* Copy in the exec list from userland */
2465 exec_list = kvmalloc_array(args->buffer_count, sizeof(*exec_list), 2465 exec_list = kvmalloc_array(args->buffer_count, sizeof(*exec_list),
2466 __GFP_NOWARN | GFP_TEMPORARY); 2466 __GFP_NOWARN | GFP_KERNEL);
2467 exec2_list = kvmalloc_array(args->buffer_count + 1, sz, 2467 exec2_list = kvmalloc_array(args->buffer_count + 1, sz,
2468 __GFP_NOWARN | GFP_TEMPORARY); 2468 __GFP_NOWARN | GFP_KERNEL);
2469 if (exec_list == NULL || exec2_list == NULL) { 2469 if (exec_list == NULL || exec2_list == NULL) {
2470 DRM_DEBUG("Failed to allocate exec list for %d buffers\n", 2470 DRM_DEBUG("Failed to allocate exec list for %d buffers\n",
2471 args->buffer_count); 2471 args->buffer_count);
@@ -2543,7 +2543,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
2543 2543
2544 /* Allocate an extra slot for use by the command parser */ 2544 /* Allocate an extra slot for use by the command parser */
2545 exec2_list = kvmalloc_array(args->buffer_count + 1, sz, 2545 exec2_list = kvmalloc_array(args->buffer_count + 1, sz,
2546 __GFP_NOWARN | GFP_TEMPORARY); 2546 __GFP_NOWARN | GFP_KERNEL);
2547 if (exec2_list == NULL) { 2547 if (exec2_list == NULL) {
2548 DRM_DEBUG("Failed to allocate exec list for %d buffers\n", 2548 DRM_DEBUG("Failed to allocate exec list for %d buffers\n",
2549 args->buffer_count); 2549 args->buffer_count);
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 0d5a988b3867..e2410eb5d96e 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -3231,7 +3231,7 @@ intel_rotate_pages(struct intel_rotation_info *rot_info,
3231 /* Allocate a temporary list of source pages for random access. */ 3231 /* Allocate a temporary list of source pages for random access. */
3232 page_addr_list = kvmalloc_array(n_pages, 3232 page_addr_list = kvmalloc_array(n_pages,
3233 sizeof(dma_addr_t), 3233 sizeof(dma_addr_t),
3234 GFP_TEMPORARY); 3234 GFP_KERNEL);
3235 if (!page_addr_list) 3235 if (!page_addr_list)
3236 return ERR_PTR(ret); 3236 return ERR_PTR(ret);
3237 3237
diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c
index 23fd18bd1b56..709efe2357ea 100644
--- a/drivers/gpu/drm/i915/i915_gem_userptr.c
+++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
@@ -507,7 +507,7 @@ __i915_gem_userptr_get_pages_worker(struct work_struct *_work)
507 ret = -ENOMEM; 507 ret = -ENOMEM;
508 pinned = 0; 508 pinned = 0;
509 509
510 pvec = kvmalloc_array(npages, sizeof(struct page *), GFP_TEMPORARY); 510 pvec = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL);
511 if (pvec != NULL) { 511 if (pvec != NULL) {
512 struct mm_struct *mm = obj->userptr.mm->mm; 512 struct mm_struct *mm = obj->userptr.mm->mm;
513 unsigned int flags = 0; 513 unsigned int flags = 0;
@@ -643,7 +643,7 @@ i915_gem_userptr_get_pages(struct drm_i915_gem_object *obj)
643 643
644 if (mm == current->mm) { 644 if (mm == current->mm) {
645 pvec = kvmalloc_array(num_pages, sizeof(struct page *), 645 pvec = kvmalloc_array(num_pages, sizeof(struct page *),
646 GFP_TEMPORARY | 646 GFP_KERNEL |
647 __GFP_NORETRY | 647 __GFP_NORETRY |
648 __GFP_NOWARN); 648 __GFP_NOWARN);
649 if (pvec) /* defer to worker if malloc fails */ 649 if (pvec) /* defer to worker if malloc fails */
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index ed5a1eb839ad..0c779671fe2d 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -787,16 +787,16 @@ int i915_error_state_buf_init(struct drm_i915_error_state_buf *ebuf,
787 */ 787 */
788 ebuf->size = count + 1 > PAGE_SIZE ? count + 1 : PAGE_SIZE; 788 ebuf->size = count + 1 > PAGE_SIZE ? count + 1 : PAGE_SIZE;
789 ebuf->buf = kmalloc(ebuf->size, 789 ebuf->buf = kmalloc(ebuf->size,
790 GFP_TEMPORARY | __GFP_NORETRY | __GFP_NOWARN); 790 GFP_KERNEL | __GFP_NORETRY | __GFP_NOWARN);
791 791
792 if (ebuf->buf == NULL) { 792 if (ebuf->buf == NULL) {
793 ebuf->size = PAGE_SIZE; 793 ebuf->size = PAGE_SIZE;
794 ebuf->buf = kmalloc(ebuf->size, GFP_TEMPORARY); 794 ebuf->buf = kmalloc(ebuf->size, GFP_KERNEL);
795 } 795 }
796 796
797 if (ebuf->buf == NULL) { 797 if (ebuf->buf == NULL) {
798 ebuf->size = 128; 798 ebuf->size = 128;
799 ebuf->buf = kmalloc(ebuf->size, GFP_TEMPORARY); 799 ebuf->buf = kmalloc(ebuf->size, GFP_KERNEL);
800 } 800 }
801 801
802 if (ebuf->buf == NULL) 802 if (ebuf->buf == NULL)
diff --git a/drivers/gpu/drm/i915/selftests/i915_random.c b/drivers/gpu/drm/i915/selftests/i915_random.c
index d044bf9a6feb..222c511bea49 100644
--- a/drivers/gpu/drm/i915/selftests/i915_random.c
+++ b/drivers/gpu/drm/i915/selftests/i915_random.c
@@ -62,7 +62,7 @@ unsigned int *i915_random_order(unsigned int count, struct rnd_state *state)
62{ 62{
63 unsigned int *order, i; 63 unsigned int *order, i;
64 64
65 order = kmalloc_array(count, sizeof(*order), GFP_TEMPORARY); 65 order = kmalloc_array(count, sizeof(*order), GFP_KERNEL);
66 if (!order) 66 if (!order)
67 return order; 67 return order;
68 68
diff --git a/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c b/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c
index 7276194c04f7..828904b7d468 100644
--- a/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c
@@ -117,12 +117,12 @@ static int igt_random_insert_remove(void *arg)
117 117
118 mock_engine_reset(engine); 118 mock_engine_reset(engine);
119 119
120 waiters = kvmalloc_array(count, sizeof(*waiters), GFP_TEMPORARY); 120 waiters = kvmalloc_array(count, sizeof(*waiters), GFP_KERNEL);
121 if (!waiters) 121 if (!waiters)
122 goto out_engines; 122 goto out_engines;
123 123
124 bitmap = kcalloc(DIV_ROUND_UP(count, BITS_PER_LONG), sizeof(*bitmap), 124 bitmap = kcalloc(DIV_ROUND_UP(count, BITS_PER_LONG), sizeof(*bitmap),
125 GFP_TEMPORARY); 125 GFP_KERNEL);
126 if (!bitmap) 126 if (!bitmap)
127 goto out_waiters; 127 goto out_waiters;
128 128
@@ -187,12 +187,12 @@ static int igt_insert_complete(void *arg)
187 187
188 mock_engine_reset(engine); 188 mock_engine_reset(engine);
189 189
190 waiters = kvmalloc_array(count, sizeof(*waiters), GFP_TEMPORARY); 190 waiters = kvmalloc_array(count, sizeof(*waiters), GFP_KERNEL);
191 if (!waiters) 191 if (!waiters)
192 goto out_engines; 192 goto out_engines;
193 193
194 bitmap = kcalloc(DIV_ROUND_UP(count, BITS_PER_LONG), sizeof(*bitmap), 194 bitmap = kcalloc(DIV_ROUND_UP(count, BITS_PER_LONG), sizeof(*bitmap),
195 GFP_TEMPORARY); 195 GFP_KERNEL);
196 if (!bitmap) 196 if (!bitmap)
197 goto out_waiters; 197 goto out_waiters;
198 198
@@ -368,7 +368,7 @@ static int igt_wakeup(void *arg)
368 368
369 mock_engine_reset(engine); 369 mock_engine_reset(engine);
370 370
371 waiters = kvmalloc_array(count, sizeof(*waiters), GFP_TEMPORARY); 371 waiters = kvmalloc_array(count, sizeof(*waiters), GFP_KERNEL);
372 if (!waiters) 372 if (!waiters)
373 goto out_engines; 373 goto out_engines;
374 374
diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
index 2d0fef2cfca6..3cac22eb47ce 100644
--- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
+++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
@@ -127,7 +127,7 @@ static int intel_uncore_check_forcewake_domains(struct drm_i915_private *dev_pri
127 return 0; 127 return 0;
128 128
129 valid = kzalloc(BITS_TO_LONGS(FW_RANGE) * sizeof(*valid), 129 valid = kzalloc(BITS_TO_LONGS(FW_RANGE) * sizeof(*valid),
130 GFP_TEMPORARY); 130 GFP_KERNEL);
131 if (!valid) 131 if (!valid)
132 return -ENOMEM; 132 return -ENOMEM;
133 133
diff --git a/drivers/gpu/drm/lib/drm_random.c b/drivers/gpu/drm/lib/drm_random.c
index 7b12a68c3b54..a78c4b483e8d 100644
--- a/drivers/gpu/drm/lib/drm_random.c
+++ b/drivers/gpu/drm/lib/drm_random.c
@@ -28,7 +28,7 @@ unsigned int *drm_random_order(unsigned int count, struct rnd_state *state)
28{ 28{
29 unsigned int *order, i; 29 unsigned int *order, i;
30 30
31 order = kmalloc_array(count, sizeof(*order), GFP_TEMPORARY); 31 order = kmalloc_array(count, sizeof(*order), GFP_KERNEL);
32 if (!order) 32 if (!order)
33 return order; 33 return order;
34 34
diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c
index 8a75c0bd8a78..5d0a75d4b249 100644
--- a/drivers/gpu/drm/msm/msm_gem_submit.c
+++ b/drivers/gpu/drm/msm/msm_gem_submit.c
@@ -40,7 +40,7 @@ static struct msm_gem_submit *submit_create(struct drm_device *dev,
40 if (sz > SIZE_MAX) 40 if (sz > SIZE_MAX)
41 return NULL; 41 return NULL;
42 42
43 submit = kmalloc(sz, GFP_TEMPORARY | __GFP_NOWARN | __GFP_NORETRY); 43 submit = kmalloc(sz, GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY);
44 if (!submit) 44 if (!submit)
45 return NULL; 45 return NULL;
46 46
diff --git a/drivers/gpu/drm/selftests/test-drm_mm.c b/drivers/gpu/drm/selftests/test-drm_mm.c
index dfdd858eda0a..86eb4c185a28 100644
--- a/drivers/gpu/drm/selftests/test-drm_mm.c
+++ b/drivers/gpu/drm/selftests/test-drm_mm.c
@@ -1627,7 +1627,7 @@ static int igt_topdown(void *ignored)
1627 goto err; 1627 goto err;
1628 1628
1629 bitmap = kzalloc(count / BITS_PER_LONG * sizeof(unsigned long), 1629 bitmap = kzalloc(count / BITS_PER_LONG * sizeof(unsigned long),
1630 GFP_TEMPORARY); 1630 GFP_KERNEL);
1631 if (!bitmap) 1631 if (!bitmap)
1632 goto err_nodes; 1632 goto err_nodes;
1633 1633
@@ -1741,7 +1741,7 @@ static int igt_bottomup(void *ignored)
1741 goto err; 1741 goto err;
1742 1742
1743 bitmap = kzalloc(count / BITS_PER_LONG * sizeof(unsigned long), 1743 bitmap = kzalloc(count / BITS_PER_LONG * sizeof(unsigned long),
1744 GFP_TEMPORARY); 1744 GFP_KERNEL);
1745 if (!bitmap) 1745 if (!bitmap)
1746 goto err_nodes; 1746 goto err_nodes;
1747 1747
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index d18b3d9292fd..3ba04f371380 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -1279,7 +1279,7 @@ ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
1279 } 1279 }
1280 1280
1281 /* use bounce buffer for copy */ 1281 /* use bounce buffer for copy */
1282 tbuf = (void *)__get_free_page(GFP_TEMPORARY); 1282 tbuf = (void *)__get_free_page(GFP_KERNEL);
1283 if (!tbuf) 1283 if (!tbuf)
1284 return -ENOMEM; 1284 return -ENOMEM;
1285 1285
diff --git a/drivers/xen/gntalloc.c b/drivers/xen/gntalloc.c
index 1bf55a32a4b3..3fa40c723e8e 100644
--- a/drivers/xen/gntalloc.c
+++ b/drivers/xen/gntalloc.c
@@ -294,7 +294,7 @@ static long gntalloc_ioctl_alloc(struct gntalloc_file_private_data *priv,
294 goto out; 294 goto out;
295 } 295 }
296 296
297 gref_ids = kcalloc(op.count, sizeof(gref_ids[0]), GFP_TEMPORARY); 297 gref_ids = kcalloc(op.count, sizeof(gref_ids[0]), GFP_KERNEL);
298 if (!gref_ids) { 298 if (!gref_ids) {
299 rc = -ENOMEM; 299 rc = -ENOMEM;
300 goto out; 300 goto out;
diff --git a/fs/coredump.c b/fs/coredump.c
index 592683711c64..0eec03696707 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -161,7 +161,7 @@ static int cn_print_exe_file(struct core_name *cn)
161 if (!exe_file) 161 if (!exe_file)
162 return cn_esc_printf(cn, "%s (path unknown)", current->comm); 162 return cn_esc_printf(cn, "%s (path unknown)", current->comm);
163 163
164 pathbuf = kmalloc(PATH_MAX, GFP_TEMPORARY); 164 pathbuf = kmalloc(PATH_MAX, GFP_KERNEL);
165 if (!pathbuf) { 165 if (!pathbuf) {
166 ret = -ENOMEM; 166 ret = -ENOMEM;
167 goto put_exe_file; 167 goto put_exe_file;
diff --git a/fs/exec.c b/fs/exec.c
index 01a9fb9d8ac3..daa19d85c066 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1763,9 +1763,9 @@ static int do_execveat_common(int fd, struct filename *filename,
1763 bprm->filename = filename->name; 1763 bprm->filename = filename->name;
1764 } else { 1764 } else {
1765 if (filename->name[0] == '\0') 1765 if (filename->name[0] == '\0')
1766 pathbuf = kasprintf(GFP_TEMPORARY, "/dev/fd/%d", fd); 1766 pathbuf = kasprintf(GFP_KERNEL, "/dev/fd/%d", fd);
1767 else 1767 else
1768 pathbuf = kasprintf(GFP_TEMPORARY, "/dev/fd/%d/%s", 1768 pathbuf = kasprintf(GFP_KERNEL, "/dev/fd/%d/%s",
1769 fd, filename->name); 1769 fd, filename->name);
1770 if (!pathbuf) { 1770 if (!pathbuf) {
1771 retval = -ENOMEM; 1771 retval = -ENOMEM;
diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
index acb6f97deb97..aad97b30d5e6 100644
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -241,7 +241,7 @@ struct ovl_fh *ovl_encode_fh(struct dentry *lower, bool is_upper)
241 int buflen = MAX_HANDLE_SZ; 241 int buflen = MAX_HANDLE_SZ;
242 uuid_t *uuid = &lower->d_sb->s_uuid; 242 uuid_t *uuid = &lower->d_sb->s_uuid;
243 243
244 buf = kmalloc(buflen, GFP_TEMPORARY); 244 buf = kmalloc(buflen, GFP_KERNEL);
245 if (!buf) 245 if (!buf)
246 return ERR_PTR(-ENOMEM); 246 return ERR_PTR(-ENOMEM);
247 247
diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c
index 9cb0c80e5967..3309b1912241 100644
--- a/fs/overlayfs/dir.c
+++ b/fs/overlayfs/dir.c
@@ -833,7 +833,7 @@ static char *ovl_get_redirect(struct dentry *dentry, bool samedir)
833 goto out; 833 goto out;
834 } 834 }
835 835
836 buf = ret = kmalloc(buflen, GFP_TEMPORARY); 836 buf = ret = kmalloc(buflen, GFP_KERNEL);
837 if (!buf) 837 if (!buf)
838 goto out; 838 goto out;
839 839
diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c
index 8aef2b304b2d..c3addd1114f1 100644
--- a/fs/overlayfs/namei.c
+++ b/fs/overlayfs/namei.c
@@ -38,7 +38,7 @@ static int ovl_check_redirect(struct dentry *dentry, struct ovl_lookup_data *d,
38 return 0; 38 return 0;
39 goto fail; 39 goto fail;
40 } 40 }
41 buf = kzalloc(prelen + res + strlen(post) + 1, GFP_TEMPORARY); 41 buf = kzalloc(prelen + res + strlen(post) + 1, GFP_KERNEL);
42 if (!buf) 42 if (!buf)
43 return -ENOMEM; 43 return -ENOMEM;
44 44
@@ -103,7 +103,7 @@ static struct ovl_fh *ovl_get_origin_fh(struct dentry *dentry)
103 if (res == 0) 103 if (res == 0)
104 return NULL; 104 return NULL;
105 105
106 fh = kzalloc(res, GFP_TEMPORARY); 106 fh = kzalloc(res, GFP_KERNEL);
107 if (!fh) 107 if (!fh)
108 return ERR_PTR(-ENOMEM); 108 return ERR_PTR(-ENOMEM);
109 109
@@ -309,7 +309,7 @@ static int ovl_check_origin(struct dentry *upperdentry,
309 309
310 BUG_ON(*ctrp); 310 BUG_ON(*ctrp);
311 if (!*stackp) 311 if (!*stackp)
312 *stackp = kmalloc(sizeof(struct path), GFP_TEMPORARY); 312 *stackp = kmalloc(sizeof(struct path), GFP_KERNEL);
313 if (!*stackp) { 313 if (!*stackp) {
314 dput(origin); 314 dput(origin);
315 return -ENOMEM; 315 return -ENOMEM;
@@ -418,7 +418,7 @@ int ovl_verify_index(struct dentry *index, struct path *lowerstack,
418 418
419 err = -ENOMEM; 419 err = -ENOMEM;
420 len = index->d_name.len / 2; 420 len = index->d_name.len / 2;
421 fh = kzalloc(len, GFP_TEMPORARY); 421 fh = kzalloc(len, GFP_KERNEL);
422 if (!fh) 422 if (!fh)
423 goto fail; 423 goto fail;
424 424
@@ -478,7 +478,7 @@ int ovl_get_index_name(struct dentry *origin, struct qstr *name)
478 return PTR_ERR(fh); 478 return PTR_ERR(fh);
479 479
480 err = -ENOMEM; 480 err = -ENOMEM;
481 n = kzalloc(fh->len * 2, GFP_TEMPORARY); 481 n = kzalloc(fh->len * 2, GFP_KERNEL);
482 if (n) { 482 if (n) {
483 s = bin2hex(n, fh, fh->len); 483 s = bin2hex(n, fh, fh->len);
484 *name = (struct qstr) QSTR_INIT(n, s - n); 484 *name = (struct qstr) QSTR_INIT(n, s - n);
@@ -646,7 +646,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
646 if (!d.stop && poe->numlower) { 646 if (!d.stop && poe->numlower) {
647 err = -ENOMEM; 647 err = -ENOMEM;
648 stack = kcalloc(ofs->numlower, sizeof(struct path), 648 stack = kcalloc(ofs->numlower, sizeof(struct path),
649 GFP_TEMPORARY); 649 GFP_KERNEL);
650 if (!stack) 650 if (!stack)
651 goto out_put_upper; 651 goto out_put_upper;
652 } 652 }
diff --git a/fs/proc/base.c b/fs/proc/base.c
index e5d89a0d0b8a..ad3b0762cc3e 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -232,7 +232,7 @@ static ssize_t proc_pid_cmdline_read(struct file *file, char __user *buf,
232 goto out_mmput; 232 goto out_mmput;
233 } 233 }
234 234
235 page = (char *)__get_free_page(GFP_TEMPORARY); 235 page = (char *)__get_free_page(GFP_KERNEL);
236 if (!page) { 236 if (!page) {
237 rv = -ENOMEM; 237 rv = -ENOMEM;
238 goto out_mmput; 238 goto out_mmput;
@@ -813,7 +813,7 @@ static ssize_t mem_rw(struct file *file, char __user *buf,
813 if (!mm) 813 if (!mm)
814 return 0; 814 return 0;
815 815
816 page = (char *)__get_free_page(GFP_TEMPORARY); 816 page = (char *)__get_free_page(GFP_KERNEL);
817 if (!page) 817 if (!page)
818 return -ENOMEM; 818 return -ENOMEM;
819 819
@@ -918,7 +918,7 @@ static ssize_t environ_read(struct file *file, char __user *buf,
918 if (!mm || !mm->env_end) 918 if (!mm || !mm->env_end)
919 return 0; 919 return 0;
920 920
921 page = (char *)__get_free_page(GFP_TEMPORARY); 921 page = (char *)__get_free_page(GFP_KERNEL);
922 if (!page) 922 if (!page)
923 return -ENOMEM; 923 return -ENOMEM;
924 924
@@ -1630,7 +1630,7 @@ out:
1630 1630
1631static int do_proc_readlink(struct path *path, char __user *buffer, int buflen) 1631static int do_proc_readlink(struct path *path, char __user *buffer, int buflen)
1632{ 1632{
1633 char *tmp = (char*)__get_free_page(GFP_TEMPORARY); 1633 char *tmp = (char *)__get_free_page(GFP_KERNEL);
1634 char *pathname; 1634 char *pathname;
1635 int len; 1635 int len;
1636 1636
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 7b40e11ede9b..5589b4bd4b85 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -1474,7 +1474,7 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
1474 pm.show_pfn = file_ns_capable(file, &init_user_ns, CAP_SYS_ADMIN); 1474 pm.show_pfn = file_ns_capable(file, &init_user_ns, CAP_SYS_ADMIN);
1475 1475
1476 pm.len = (PAGEMAP_WALK_SIZE >> PAGE_SHIFT); 1476 pm.len = (PAGEMAP_WALK_SIZE >> PAGE_SHIFT);
1477 pm.buffer = kmalloc(pm.len * PM_ENTRY_BYTES, GFP_TEMPORARY); 1477 pm.buffer = kmalloc(pm.len * PM_ENTRY_BYTES, GFP_KERNEL);
1478 ret = -ENOMEM; 1478 ret = -ENOMEM;
1479 if (!pm.buffer) 1479 if (!pm.buffer)
1480 goto out_mm; 1480 goto out_mm;
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index bcfb9f7c46f5..f780718b7391 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -288,8 +288,6 @@ struct vm_area_struct;
288#define GFP_NOWAIT (__GFP_KSWAPD_RECLAIM) 288#define GFP_NOWAIT (__GFP_KSWAPD_RECLAIM)
289#define GFP_NOIO (__GFP_RECLAIM) 289#define GFP_NOIO (__GFP_RECLAIM)
290#define GFP_NOFS (__GFP_RECLAIM | __GFP_IO) 290#define GFP_NOFS (__GFP_RECLAIM | __GFP_IO)
291#define GFP_TEMPORARY (__GFP_RECLAIM | __GFP_IO | __GFP_FS | \
292 __GFP_RECLAIMABLE)
293#define GFP_USER (__GFP_RECLAIM | __GFP_IO | __GFP_FS | __GFP_HARDWALL) 291#define GFP_USER (__GFP_RECLAIM | __GFP_IO | __GFP_FS | __GFP_HARDWALL)
294#define GFP_DMA __GFP_DMA 292#define GFP_DMA __GFP_DMA
295#define GFP_DMA32 __GFP_DMA32 293#define GFP_DMA32 __GFP_DMA32
diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h
index 4c2e4737d7bc..fec6291a6703 100644
--- a/include/trace/events/mmflags.h
+++ b/include/trace/events/mmflags.h
@@ -18,7 +18,6 @@
18 {(unsigned long)GFP_HIGHUSER_MOVABLE, "GFP_HIGHUSER_MOVABLE"},\ 18 {(unsigned long)GFP_HIGHUSER_MOVABLE, "GFP_HIGHUSER_MOVABLE"},\
19 {(unsigned long)GFP_HIGHUSER, "GFP_HIGHUSER"}, \ 19 {(unsigned long)GFP_HIGHUSER, "GFP_HIGHUSER"}, \
20 {(unsigned long)GFP_USER, "GFP_USER"}, \ 20 {(unsigned long)GFP_USER, "GFP_USER"}, \
21 {(unsigned long)GFP_TEMPORARY, "GFP_TEMPORARY"}, \
22 {(unsigned long)GFP_KERNEL_ACCOUNT, "GFP_KERNEL_ACCOUNT"}, \ 21 {(unsigned long)GFP_KERNEL_ACCOUNT, "GFP_KERNEL_ACCOUNT"}, \
23 {(unsigned long)GFP_KERNEL, "GFP_KERNEL"}, \ 22 {(unsigned long)GFP_KERNEL, "GFP_KERNEL"}, \
24 {(unsigned long)GFP_NOFS, "GFP_NOFS"}, \ 23 {(unsigned long)GFP_NOFS, "GFP_NOFS"}, \
diff --git a/kernel/locking/test-ww_mutex.c b/kernel/locking/test-ww_mutex.c
index 39f56c870051..0e4cd64ad2c0 100644
--- a/kernel/locking/test-ww_mutex.c
+++ b/kernel/locking/test-ww_mutex.c
@@ -362,7 +362,7 @@ static int *get_random_order(int count)
362 int *order; 362 int *order;
363 int n, r, tmp; 363 int n, r, tmp;
364 364
365 order = kmalloc_array(count, sizeof(*order), GFP_TEMPORARY); 365 order = kmalloc_array(count, sizeof(*order), GFP_KERNEL);
366 if (!order) 366 if (!order)
367 return order; 367 return order;
368 368
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index 181e139a8057..61e7f0678d33 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -702,7 +702,7 @@ static void append_filter_err(struct filter_parse_state *ps,
702 int pos = ps->lasterr_pos; 702 int pos = ps->lasterr_pos;
703 char *buf, *pbuf; 703 char *buf, *pbuf;
704 704
705 buf = (char *)__get_free_page(GFP_TEMPORARY); 705 buf = (char *)__get_free_page(GFP_KERNEL);
706 if (!buf) 706 if (!buf)
707 return; 707 return;
708 708
diff --git a/lib/string_helpers.c b/lib/string_helpers.c
index ecaac2c0526f..29c490e5d478 100644
--- a/lib/string_helpers.c
+++ b/lib/string_helpers.c
@@ -576,7 +576,7 @@ char *kstrdup_quotable_cmdline(struct task_struct *task, gfp_t gfp)
576 char *buffer, *quoted; 576 char *buffer, *quoted;
577 int i, res; 577 int i, res;
578 578
579 buffer = kmalloc(PAGE_SIZE, GFP_TEMPORARY); 579 buffer = kmalloc(PAGE_SIZE, GFP_KERNEL);
580 if (!buffer) 580 if (!buffer)
581 return NULL; 581 return NULL;
582 582
@@ -612,7 +612,7 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp)
612 return kstrdup("<unknown>", gfp); 612 return kstrdup("<unknown>", gfp);
613 613
614 /* We add 11 spaces for ' (deleted)' to be appended */ 614 /* We add 11 spaces for ' (deleted)' to be appended */
615 temp = kmalloc(PATH_MAX + 11, GFP_TEMPORARY); 615 temp = kmalloc(PATH_MAX + 11, GFP_KERNEL);
616 if (!temp) 616 if (!temp)
617 return kstrdup("<no_memory>", gfp); 617 return kstrdup("<no_memory>", gfp);
618 618
diff --git a/mm/shmem.c b/mm/shmem.c
index ace53a582be5..07a1d22807be 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -3685,7 +3685,7 @@ SYSCALL_DEFINE2(memfd_create,
3685 if (len > MFD_NAME_MAX_LEN + 1) 3685 if (len > MFD_NAME_MAX_LEN + 1)
3686 return -EINVAL; 3686 return -EINVAL;
3687 3687
3688 name = kmalloc(len + MFD_NAME_PREFIX_LEN, GFP_TEMPORARY); 3688 name = kmalloc(len + MFD_NAME_PREFIX_LEN, GFP_KERNEL);
3689 if (!name) 3689 if (!name)
3690 return -ENOMEM; 3690 return -ENOMEM;
3691 3691
diff --git a/mm/slub.c b/mm/slub.c
index d39a5d3834b3..163352c537ab 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4597,7 +4597,7 @@ static int list_locations(struct kmem_cache *s, char *buf,
4597 struct kmem_cache_node *n; 4597 struct kmem_cache_node *n;
4598 4598
4599 if (!map || !alloc_loc_track(&t, PAGE_SIZE / sizeof(struct location), 4599 if (!map || !alloc_loc_track(&t, PAGE_SIZE / sizeof(struct location),
4600 GFP_TEMPORARY)) { 4600 GFP_KERNEL)) {
4601 kfree(map); 4601 kfree(map);
4602 return sprintf(buf, "Out of memory\n"); 4602 return sprintf(buf, "Out of memory\n");
4603 } 4603 }
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index a1497c516d85..24ee68ecdd42 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -627,7 +627,6 @@ static const struct {
627 { "GFP_HIGHUSER_MOVABLE", "HUM" }, 627 { "GFP_HIGHUSER_MOVABLE", "HUM" },
628 { "GFP_HIGHUSER", "HU" }, 628 { "GFP_HIGHUSER", "HU" },
629 { "GFP_USER", "U" }, 629 { "GFP_USER", "U" },
630 { "GFP_TEMPORARY", "TMP" },
631 { "GFP_KERNEL_ACCOUNT", "KAC" }, 630 { "GFP_KERNEL_ACCOUNT", "KAC" },
632 { "GFP_KERNEL", "K" }, 631 { "GFP_KERNEL", "K" },
633 { "GFP_NOFS", "NF" }, 632 { "GFP_NOFS", "NF" },