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>
This commit is contained in:
committed by
Linus Torvalds
parent
210e7a43fa
commit
bacdcb3460
@@ -2686,7 +2686,8 @@ static struct page *cache_grow_begin(struct kmem_cache *cachep,
|
|||||||
* critical path in kmem_cache_alloc().
|
* critical path in kmem_cache_alloc().
|
||||||
*/
|
*/
|
||||||
if (unlikely(flags & GFP_SLAB_BUG_MASK)) {
|
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();
|
BUG();
|
||||||
}
|
}
|
||||||
local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK);
|
local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK);
|
||||||
|
|||||||
@@ -1612,7 +1612,8 @@ out:
|
|||||||
static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)
|
static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)
|
||||||
{
|
{
|
||||||
if (unlikely(flags & GFP_SLAB_BUG_MASK)) {
|
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();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user