Just saw commit c7f26ccfb2c31eb1bf810ba13d044fcf583232db Author: Steven J. Hill <steven.hill@xxxxxxxxxx> Date: Wed Mar 28 16:01:09 2018 -0700 mm/vmstat.c: fix vmstat_update() preemption BUG Attempting to hotplug CPUs with CONFIG_VM_EVENT_COUNTERS enabled can cause vmstat_update() to report a BUG due to preemption not being disabled around smp_processor_id(). The fix is wrong. vmstat_update cannot be moved to a differentprocessor and thus preemption should be off. vmstat_update repeatedly accesses per cpu information. vmstat_update first checks if there are counter to be updated on the current cpu and then updates the counters. This cannot happen if the process can be moved to a different cpu. The patch "switches off" preemption after the check if there are changes to the local per cpu counter. Lets find out what changed in the callers of vmstat_update() that caused the BUG to be triggered.