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:
Родитель
210e7a43fa
Коммит
bacdcb3460
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче