Shakeel Butt reported that I missed a few counters which are not updated in-interrupt context and therefore disabling preemption is fine. Please fold into: "Protect per-CPU counter by disabling preemption on PREEMPT_RT" Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- mm/memcontrol.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 9c29b1a0e6bec..7883e2f2af3e8 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -743,10 +743,17 @@ void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, */ __memcg_stats_lock(); if (IS_ENABLED(CONFIG_DEBUG_VM)) { - if (idx == NR_ANON_MAPPED || idx == NR_FILE_MAPPED) + switch (idx) { + case NR_ANON_MAPPED: + case NR_FILE_MAPPED: + case NR_ANON_THPS: + case NR_SHMEM_PMDMAPPED: + case NR_FILE_PMDMAPPED: WARN_ON_ONCE(!in_task()); - else + break; + default: WARN_ON_ONCE(!irqs_disabled()); + } } /* Update memcg */ -- 2.35.1