[lkml]   [2022]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/5] mm/slub: use stackdepot to save stack trace in objects
On Fri, Feb 25, 2022 at 07:03:15PM +0100, Vlastimil Babka wrote:
> From: Oliver Glitta <>
> Many stack traces are similar so there are many similar arrays.
> Stackdepot saves each unique stack only once.
> Replace field addrs in struct track with depot_stack_handle_t handle. Use
> stackdepot to save stack trace.

I think it's not a replacement?

> The benefits are smaller memory overhead and possibility to aggregate
> per-cache statistics in the following patch using the stackdepot handle
> instead of matching stacks manually.
> [ rebase to 5.17-rc1 and adjust accordingly ]
> This was initially merged as commit 788691464c29 and reverted by commit
> ae14c63a9f20 due to several issues, that should now be fixed.
> The problem of unconditional memory overhead by stackdepot has been
> addressed by commit 2dba5eb1c73b ("lib/stackdepot: allow optional init
> and stack_table allocation by kvmalloc()"), so the dependency on
> stackdepot will result in extra memory usage only when a slab cache
> tracking is actually enabled, and not for all CONFIG_SLUB_DEBUG builds.
> The build failures on some architectures were also addressed, and the
> reported issue with xfs/433 test did not reproduce on 5.17-rc1 with this
> patch.

This is just an idea and beyond this patch.

After this patch, now we have external storage that records stack traces.

It's possible that some rare stack traces are in stack depot, but
not reachable because track is overwritten.

I think it's worth implementing a way to iterate through stacks in stack depot?

> Signed-off-by: Oliver Glitta <>
> Signed-off-by: Vlastimil Babka <>
> Cc: David Rientjes <>
> Cc: Christoph Lameter <>
> Cc: Pekka Enberg <>
> Cc: Joonsoo Kim <>

Thank you, You are awesome!
Hyeonggon :-)

 \ /
  Last update: 2022-02-27 10:45    [W:0.553 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site