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