Skip to content

Commit f4cb78a

Browse files
soleenakpm00
authored andcommitted
mm: add system wide stats items category
/proc/vmstat contains events and stats, events can only grow, but stats can grow and shrink. vmstat has the following: ------------------------- NR_VM_ZONE_STAT_ITEMS: per-zone stats NR_VM_NUMA_EVENT_ITEMS: per-numa events NR_VM_NODE_STAT_ITEMS: per-numa stats NR_VM_WRITEBACK_STAT_ITEMS: system-wide background-writeback and dirty-throttling tresholds. NR_VM_EVENT_ITEMS: system-wide events ------------------------- Rename NR_VM_WRITEBACK_STAT_ITEMS to NR_VM_STAT_ITEMS, to track the system-wide stats, we are going to add per-page metadata stats to this category in the next patch. Also delete unused writeback_stat_name(). Link: https://lkml.kernel.org/r/20240809191020.1142142-2-pasha.tatashin@soleen.com Link: https://lkml.kernel.org/r/20240808213437.682006-3-pasha.tatashin@soleen.com Fixes: 15995a3 ("mm: report per-page metadata information") Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com> Suggested-by: Yosry Ahmed <yosryahmed@google.com> Tested-by: Alison Schofield <alison.schofield@intel.com> Acked-by: David Hildenbrand <david@redhat.com> Acked-by: David Rientjes <rientjes@google.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Domenico Cerasuolo <cerasuolodomenico@gmail.com> Cc: Joel Granados <j.granados@samsung.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Li Zhijian <lizhijian@fujitsu.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Mike Rapoport <rppt@kernel.org> Cc: Muchun Song <muchun.song@linux.dev> Cc: Nhat Pham <nphamcs@gmail.com> Cc: Sourav Panda <souravpanda@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Yi Zhang <yi.zhang@redhat.com> Cc: Fan Ni <fan.ni@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent ace0741 commit f4cb78a

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

include/linux/vmstat.h

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ struct reclaim_stat {
3434
unsigned nr_lazyfree_fail;
3535
};
3636

37-
enum writeback_stat_item {
37+
/* Stat data for system wide items */
38+
enum vm_stat_item {
3839
NR_DIRTY_THRESHOLD,
3940
NR_DIRTY_BG_THRESHOLD,
40-
NR_VM_WRITEBACK_STAT_ITEMS,
41+
NR_VM_STAT_ITEMS,
4142
};
4243

4344
#ifdef CONFIG_VM_EVENT_COUNTERS
@@ -514,21 +515,13 @@ static inline const char *lru_list_name(enum lru_list lru)
514515
return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
515516
}
516517

517-
static inline const char *writeback_stat_name(enum writeback_stat_item item)
518-
{
519-
return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
520-
NR_VM_NUMA_EVENT_ITEMS +
521-
NR_VM_NODE_STAT_ITEMS +
522-
item];
523-
}
524-
525518
#if defined(CONFIG_VM_EVENT_COUNTERS) || defined(CONFIG_MEMCG)
526519
static inline const char *vm_event_name(enum vm_event_item item)
527520
{
528521
return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
529522
NR_VM_NUMA_EVENT_ITEMS +
530523
NR_VM_NODE_STAT_ITEMS +
531-
NR_VM_WRITEBACK_STAT_ITEMS +
524+
NR_VM_STAT_ITEMS +
532525
item];
533526
}
534527
#endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */

mm/vmstat.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,7 +1257,7 @@ const char * const vmstat_text[] = {
12571257
"pgdemote_khugepaged",
12581258
"nr_memmap",
12591259
"nr_memmap_boot",
1260-
/* enum writeback_stat_item counters */
1260+
/* system-wide enum vm_stat_item counters */
12611261
"nr_dirty_threshold",
12621262
"nr_dirty_background_threshold",
12631263

@@ -1790,7 +1790,7 @@ static const struct seq_operations zoneinfo_op = {
17901790
#define NR_VMSTAT_ITEMS (NR_VM_ZONE_STAT_ITEMS + \
17911791
NR_VM_NUMA_EVENT_ITEMS + \
17921792
NR_VM_NODE_STAT_ITEMS + \
1793-
NR_VM_WRITEBACK_STAT_ITEMS + \
1793+
NR_VM_STAT_ITEMS + \
17941794
(IS_ENABLED(CONFIG_VM_EVENT_COUNTERS) ? \
17951795
NR_VM_EVENT_ITEMS : 0))
17961796

@@ -1827,7 +1827,7 @@ static void *vmstat_start(struct seq_file *m, loff_t *pos)
18271827

18281828
global_dirty_limits(v + NR_DIRTY_BG_THRESHOLD,
18291829
v + NR_DIRTY_THRESHOLD);
1830-
v += NR_VM_WRITEBACK_STAT_ITEMS;
1830+
v += NR_VM_STAT_ITEMS;
18311831

18321832
#ifdef CONFIG_VM_EVENT_COUNTERS
18331833
all_vm_events(v);

0 commit comments

Comments
 (0)