Messages in this thread Patch in this message | | | From | Aaron Tomlin <> | Subject | [PATCH v8 1/5] mm/vmstat: Add CPU-specific variable to track a vmstat discrepancy | Date | Sat, 24 Sep 2022 16:22:23 +0100 |
| |
Introduce a CPU-specific variable namely vmstat_dirty to indicate if a vmstat imbalance is present for a given CPU. Therefore, at the appropriate time, we can fold all the remaining differentials. This patch also provides trivial helpers for modification and testing.
Signed-off-by: Aaron Tomlin <atomlin@redhat.com> --- mm/vmstat.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/mm/vmstat.c b/mm/vmstat.c index 90af9a8572f5..24c67b2e58fd 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -195,6 +195,22 @@ void fold_vm_numa_events(void) #endif #ifdef CONFIG_SMP +static DEFINE_PER_CPU_ALIGNED(bool, vmstat_dirty); + +static inline void vmstat_mark_dirty(void) +{ + this_cpu_write(vmstat_dirty, true); +} + +static inline void vmstat_clear_dirty(void) +{ + this_cpu_write(vmstat_dirty, false); +} + +static inline bool is_vmstat_dirty(void) +{ + return this_cpu_read(vmstat_dirty); +} int calculate_pressure_threshold(struct zone *zone) { -- 2.37.1
| |