lkml.org 
[lkml]   [2022]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v8 1/5] mm/vmstat: Add CPU-specific variable to track a vmstat discrepancy
Date
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
\
 
 \ /
  Last update: 2022-09-24 17:23    [W:0.243 / U:1.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site