[PATCH 0/2] Protect vmstats on PREEMPT_RT

From: Mel Gorman
Date: Fri Jul 23 2021 - 06:00:50 EST


When adding local_lock support to mm/page_alloc.c and reducing the overhead
of vmstats in general, I wondered how vmstats could be safe on PREEMPT_RT
as it partially relies on interrupts being disabled for the stats that
must be accurate for correctness. As it turns out, the preempt-rt tree
already encountered the same problem.

This series protects just the primary counters. While there is another
vmstat-related patch, it is related to memcg getting using local_lock and
I have not fully considered those patches and whether they are ok as-is
or need modification but this series makes a start.

Patch 1 is authored by Thomas (cc'd) and has not being altered.

Patch 2 is authored by Ingo (cc'd) but I modified what he implemented
for reasons explained in the changelog.

This is specific to PREEMPT_RT which cannot be enabled on mainline yet
and should have no impact on !PREEMPT_RT kernels.

include/linux/preempt.h | 18 +++++++++++++++++-
mm/vmstat.c | 12 ++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)

--
2.26.2