Messages in this thread Patch in this message |  | | Date | Fri, 16 Dec 2022 16:45:41 -0300 | From | Marcelo Tosatti <> | Subject | [PATCH v10 1/6] mm/vmstat: Add CPU-specific variable to track a vmstat discrepancy |
| |
From: Aaron Tomlin <atomlin@redhat.com>
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> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> --- mm/vmstat.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
Index: linux-2.6/mm/vmstat.c =================================================================== --- linux-2.6.orig/mm/vmstat.c +++ linux-2.6/mm/vmstat.c @@ -194,6 +194,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) {
|  |