From: Michal Hocko Date: Tue, 26 Jul 2016 22:22:02 +0000 (-0700) Subject: slab: make GFP_SLAB_BUG_MASK information more human readable X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=bacdcb346093794f292c2c9c67ae350895e8b7ef;p=openwrt%2Fstaging%2Fblogic.git 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 Cc: Sergey Senozhatsky Cc: Christoph Lameter Cc: Pekka Enberg Cc: David Rientjes Cc: Joonsoo Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- 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(); }