|
@@ -3364,32 +3364,37 @@ next:
|
|
|
|
|
|
#ifdef CONFIG_PROC_FS
|
|
#ifdef CONFIG_PROC_FS
|
|
|
|
|
|
-static void *s_start(struct seq_file *m, loff_t *pos)
|
|
|
|
|
|
+static void print_slabinfo_header(struct seq_file *m)
|
|
{
|
|
{
|
|
- loff_t n = *pos;
|
|
|
|
- struct list_head *p;
|
|
|
|
-
|
|
|
|
- down(&cache_chain_sem);
|
|
|
|
- if (!n) {
|
|
|
|
- /*
|
|
|
|
- * Output format version, so at least we can change it
|
|
|
|
- * without _too_ many complaints.
|
|
|
|
- */
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Output format version, so at least we can change it
|
|
|
|
+ * without _too_ many complaints.
|
|
|
|
+ */
|
|
#if STATS
|
|
#if STATS
|
|
- seq_puts(m, "slabinfo - version: 2.1 (statistics)\n");
|
|
|
|
|
|
+ seq_puts(m, "slabinfo - version: 2.1 (statistics)\n");
|
|
#else
|
|
#else
|
|
- seq_puts(m, "slabinfo - version: 2.1\n");
|
|
|
|
|
|
+ seq_puts(m, "slabinfo - version: 2.1\n");
|
|
#endif
|
|
#endif
|
|
- 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, "# name <active_objs> <num_objs> <objsize> "
|
|
|
|
+ "<objperslab> <pagesperslab>");
|
|
|
|
+ seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>");
|
|
|
|
+ seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>");
|
|
#if STATS
|
|
#if STATS
|
|
- seq_puts(m, " : globalstat <listallocs> <maxobjs> <grown> <reaped>"
|
|
|
|
- " <error> <maxfreeable> <nodeallocs> <remotefrees>");
|
|
|
|
- seq_puts(m, " : cpustat <allochit> <allocmiss> <freehit> <freemiss>");
|
|
|
|
|
|
+ seq_puts(m, " : globalstat <listallocs> <maxobjs> <grown> <reaped> "
|
|
|
|
+ "<error> <maxfreeable> <nodeallocs> <remotefrees>");
|
|
|
|
+ seq_puts(m, " : cpustat <allochit> <allocmiss> <freehit> <freemiss>");
|
|
#endif
|
|
#endif
|
|
- seq_putc(m, '\n');
|
|
|
|
- }
|
|
|
|
|
|
+ seq_putc(m, '\n');
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void *s_start(struct seq_file *m, loff_t *pos)
|
|
|
|
+{
|
|
|
|
+ loff_t n = *pos;
|
|
|
|
+ struct list_head *p;
|
|
|
|
+
|
|
|
|
+ down(&cache_chain_sem);
|
|
|
|
+ if (!n)
|
|
|
|
+ print_slabinfo_header(m);
|
|
p = cache_chain.next;
|
|
p = cache_chain.next;
|
|
while (n--) {
|
|
while (n--) {
|
|
p = p->next;
|
|
p = p->next;
|