On Wed, 25 Apr 2018, Roman Gushchin wrote: > Don't show nr_indirectly_reclaimable in /proc/vmstat, > because there is no need in exporting this vm counter > to the userspace, and some changes are expected > in reclaimable object accounting, which can alter > this counter. >
I don't think it should be a per-node vmstat, in this case. It appears only to be used for the global context. Shouldn't this be handled like totalram_pages, total_swap_pages, totalreserve_pages, etc? > Signed-off-by: Roman Gushchin <g...@fb.com> > Cc: Vlastimil Babka <vba...@suse.cz> > Cc: Matthew Wilcox <wi...@infradead.org> > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Alexander Viro <v...@zeniv.linux.org.uk> > Cc: Michal Hocko <mho...@suse.com> > Cc: Johannes Weiner <han...@cmpxchg.org> > --- > mm/vmstat.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 536332e988b8..a2b9518980ce 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -1161,7 +1161,7 @@ const char * const vmstat_text[] = { > "nr_vmscan_immediate_reclaim", > "nr_dirtied", > "nr_written", > - "nr_indirectly_reclaimable", > + "", /* nr_indirectly_reclaimable */ > > /* enum writeback_stat_item counters */ > "nr_dirty_threshold", > @@ -1740,6 +1740,10 @@ static int vmstat_show(struct seq_file *m, void *arg) > unsigned long *l = arg; > unsigned long off = l - (unsigned long *)m->private; > > + /* Skip hidden vmstat items. */ > + if (*vmstat_text[off] == '\0') > + return 0; > + > seq_puts(m, vmstat_text[off]); > seq_put_decimal_ull(m, " ", *l); > seq_putc(m, '\n');