diff options
author | Michal Hocko <mhocko@suse.com> | 2016-07-27 00:22:02 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-27 01:19:19 +0200 |
commit | bacdcb346093794f292c2c9c67ae350895e8b7ef (patch) | |
tree | 2b2e6b55fac0674802f85156453525716e16f176 /mm | |
parent | mm: SLUB freelist randomization (diff) | |
download | linux-bacdcb346093794f292c2c9c67ae350895e8b7ef.tar.xz linux-bacdcb346093794f292c2c9c67ae350895e8b7ef.zip |
slab: make GFP_SLAB_BUG_MASK information more human readable
printk offers %pGg for quite some time so let's use it to get a human
readable list of invalid flags.
The original output would be
[ 429.191962] gfp: 2
after the change
[ 429.191962] Unexpected gfp: 0x2 (__GFP_HIGHMEM)
Link: http://lkml.kernel.org/r/1465548200-11384-1-git-send-email-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/slab.c | 3 | ||||
-rw-r--r-- | mm/slub.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c index 763096a247f6..03fb724d6e48 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2686,7 +2686,8 @@ static struct page *cache_grow_begin(struct kmem_cache *cachep, * critical path in kmem_cache_alloc(). */ if (unlikely(flags & GFP_SLAB_BUG_MASK)) { - pr_emerg("gfp: %u\n", flags & GFP_SLAB_BUG_MASK); + gfp_t invalid_mask = flags & GFP_SLAB_BUG_MASK; + pr_emerg("Unexpected gfp: %#x (%pGg)\n", invalid_mask, &invalid_mask); BUG(); } local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK); diff --git a/mm/slub.c b/mm/slub.c index f5b3114b6a97..a2fe4edc3599 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1612,7 +1612,8 @@ out: static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node) { if (unlikely(flags & GFP_SLAB_BUG_MASK)) { - pr_emerg("gfp: %u\n", flags & GFP_SLAB_BUG_MASK); + gfp_t invalid_mask = flags & GFP_SLAB_BUG_MASK; + pr_emerg("Unexpected gfp: %#x (%pGg)\n", invalid_mask, &invalid_mask); BUG(); } |