mm, slub: allocate private object map for debugfs listings
authorVlastimil Babka <vbabka@suse.cz>
Sat, 22 May 2021 23:28:37 +0000 (01:28 +0200)
committerVlastimil Babka <vbabka@suse.cz>
Fri, 3 Sep 2021 21:56:49 +0000 (23:56 +0200)
commitb3fd64e1451b5efd94aa0ebc755e02558e6f3ca1
tree552e3eedc791d3d040779bd9184469afb7cf1d27
parenteafb1d64030abf5f885026c2074d120c13e0ca9d
mm, slub: allocate private object map for debugfs listings

Slub has a static spinlock protected bitmap for marking which objects are on
freelist when it wants to list them, for situations where dynamically
allocating such map can lead to recursion or locking issues, and on-stack
bitmap would be too large.

The handlers of debugfs files alloc_traces and free_traces also currently use this
shared bitmap, but their syscall context makes it straightforward to allocate a
private map before entering locked sections, so switch these processing paths
to use a private bitmap.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Christoph Lameter <cl@linux.com>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
mm/slub.c