* [PATCH mmotm] mm, sl[au]b: print gfp_flags as strings in slab_out_of_memory()
@ 2016-03-01 19:08 Vlastimil Babka
2016-03-01 22:41 ` David Rientjes
0 siblings, 1 reply; 3+ messages in thread
From: Vlastimil Babka @ 2016-03-01 19:08 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-mm, linux-kernel, Vlastimil Babka, Christoph Lameter,
Pekka Enberg, David Rientjes, Joonsoo Kim
We can now print gfp_flags more human-readable. Make use of this in
slab_out_of_memory() for SLUB and SLAB. Also convert the SLAB variant it to
pr_warn() along the way.
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
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>
---
This could go after e.g. mm-oom-print-symbolic-gfp_flags-in-oom-warning.patch
Quick grep suggests there are no other places to convert.
mm/slab.c | 10 ++++------
mm/slub.c | 4 ++--
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/mm/slab.c b/mm/slab.c
index b9ee77554008..c87088ae2351 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1347,10 +1347,9 @@ slab_out_of_memory(struct kmem_cache *cachep, gfp_t gfpflags, int nodeid)
if ((gfpflags & __GFP_NOWARN) || !__ratelimit(&slab_oom_rs))
return;
- printk(KERN_WARNING
- "SLAB: Unable to allocate memory on node %d (gfp=0x%x)\n",
- nodeid, gfpflags);
- printk(KERN_WARNING " cache: %s, object size: %d, order: %d\n",
+ pr_warn("SLAB: Unable to allocate memory on node %d, gfp=%#x(%pGg)\n",
+ nodeid, gfpflags, &gfpflags);
+ pr_warn(" cache: %s, object size: %d, order: %d\n",
cachep->name, cachep->size, cachep->gfporder);
for_each_kmem_cache_node(cachep, node, n) {
@@ -1374,8 +1373,7 @@ slab_out_of_memory(struct kmem_cache *cachep, gfp_t gfpflags, int nodeid)
num_slabs += active_slabs;
num_objs = num_slabs * cachep->num;
- printk(KERN_WARNING
- " node %d: slabs: %ld/%ld, objs: %ld/%ld, free: %ld\n",
+ pr_warn(" node %d: slabs: %ld/%ld, objs: %ld/%ld, free: %ld\n",
node, active_slabs, num_slabs, active_objs, num_objs,
free_objects);
}
diff --git a/mm/slub.c b/mm/slub.c
index d86720d93cda..8caaf2903241 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2248,8 +2248,8 @@ slab_out_of_memory(struct kmem_cache *s, gfp_t gfpflags, int nid)
if ((gfpflags & __GFP_NOWARN) || !__ratelimit(&slub_oom_rs))
return;
- pr_warn("SLUB: Unable to allocate memory on node %d (gfp=0x%x)\n",
- nid, gfpflags);
+ pr_warn("SLUB: Unable to allocate memory on node %d, gfp=%#x(%pGg)\n",
+ nid, gfpflags, &gfpflags);
pr_warn(" cache: %s, object size: %d, buffer size: %d, default order: %d, min order: %d\n",
s->name, s->object_size, s->size, oo_order(s->oo),
oo_order(s->min));
--
2.7.2
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH mmotm] mm, sl[au]b: print gfp_flags as strings in slab_out_of_memory()
2016-03-01 19:08 [PATCH mmotm] mm, sl[au]b: print gfp_flags as strings in slab_out_of_memory() Vlastimil Babka
@ 2016-03-01 22:41 ` David Rientjes
2016-03-02 14:17 ` Vlastimil Babka
0 siblings, 1 reply; 3+ messages in thread
From: David Rientjes @ 2016-03-01 22:41 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Andrew Morton, linux-mm, linux-kernel, Christoph Lameter,
Pekka Enberg, Joonsoo Kim
On Tue, 1 Mar 2016, Vlastimil Babka wrote:
> We can now print gfp_flags more human-readable. Make use of this in
> slab_out_of_memory() for SLUB and SLAB. Also convert the SLAB variant it to
> pr_warn() along the way.
>
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
> 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>
Acked-by: David Rientjes <rientjes@google.com>
Although I've always been curious about the usefulness of these out of
memory calls in the first place. They are obviously for debugging, but
have they actually helped to diagnose anything?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH mmotm] mm, sl[au]b: print gfp_flags as strings in slab_out_of_memory()
2016-03-01 22:41 ` David Rientjes
@ 2016-03-02 14:17 ` Vlastimil Babka
0 siblings, 0 replies; 3+ messages in thread
From: Vlastimil Babka @ 2016-03-02 14:17 UTC (permalink / raw)
To: David Rientjes
Cc: Andrew Morton, linux-mm, linux-kernel, Christoph Lameter,
Pekka Enberg, Joonsoo Kim
On 03/01/2016 11:41 PM, David Rientjes wrote:
> On Tue, 1 Mar 2016, Vlastimil Babka wrote:
>
>> We can now print gfp_flags more human-readable. Make use of this in
>> slab_out_of_memory() for SLUB and SLAB. Also convert the SLAB variant it to
>> pr_warn() along the way.
>>
>> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
>> 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>
>
> Acked-by: David Rientjes <rientjes@google.com>
Thanks.
> Although I've always been curious about the usefulness of these out of
> memory calls in the first place. They are obviously for debugging, but
> have they actually helped to diagnose anything?
Uh no idea, maybe other SL*B maintainers have more experience. But what
did prompt me to write this patch is that I've recently have actually
seen the output of those in some (presumably linux-mm) thread.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-02 14:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 19:08 [PATCH mmotm] mm, sl[au]b: print gfp_flags as strings in slab_out_of_memory() Vlastimil Babka
2016-03-01 22:41 ` David Rientjes
2016-03-02 14:17 ` Vlastimil Babka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).