[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240219031911.10372-2-fangzheng.zhang@unisoc.com>
Date: Mon, 19 Feb 2024 11:19:10 +0800
From: Fangzheng Zhang <fangzheng.zhang@...soc.com>
To: Christoph Lameter <cl@...ux.com>, Pekka Enberg <penberg@...nel.org>,
David
Rientjes <rientjes@...gle.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Andrew
Morton <akpm@...ux-foundation.org>,
Vlastimil Babka <vbabka@...e.cz>,
Roman
Gushchin <roman.gushchin@...ux.dev>,
Hyeonggon Yoo <42.hyeyoo@...il.com>,
Greg KH <gregkh@...uxfoundation.org>
CC: <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>, <tkjos@...gle.com>,
Fangzheng Zhang <fangzheng.zhang@...soc.com>,
Fangzheng Zhang
<fangzheng.zhang1003@...il.com>,
Yuming Han <yuming.han@...soc.com>,
Chunyan
Zhang <zhang.lyra@...il.com>
Subject: [PATCH V2 1/2] mm/slab: Add slabreclaim flag to slabinfo
In order to enhance slab debugging, we add slabreclaim flag to
slabinfo. Slab type is also an important analysis point in slabinfo
for per slab, when various problems such as memory leaks or memory
statistics occur.
Signed-off-by: Fangzheng Zhang <fangzheng.zhang@...soc.com>
---
mm/slab_common.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 238293b1dbe1..fd865ca335ea 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -1035,10 +1035,10 @@ static void print_slabinfo_header(struct seq_file *m)
* Output format version, so at least we can change it
* without _too_ many complaints.
*/
- seq_puts(m, "slabinfo - version: 2.1\n");
+ seq_puts(m, "slabinfo - version: 2.2\n");
seq_puts(m, "# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab>");
seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>");
- seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>");
+ seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail> <slabreclaim>");
seq_putc(m, '\n');
}
@@ -1071,8 +1071,9 @@ static void cache_show(struct kmem_cache *s, struct seq_file *m)
seq_printf(m, " : tunables %4u %4u %4u",
sinfo.limit, sinfo.batchcount, sinfo.shared);
- seq_printf(m, " : slabdata %6lu %6lu %6lu",
- sinfo.active_slabs, sinfo.num_slabs, sinfo.shared_avail);
+ seq_printf(m, " : slabdata %6lu %6lu %6lu %6u",
+ sinfo.active_slabs, sinfo.num_slabs, sinfo.shared_avail,
+ !!(s->flags & SLAB_RECLAIM_ACCOUNT));
slabinfo_show_stats(m, s);
seq_putc(m, '\n');
}
--
2.17.1
Powered by blists - more mailing lists