On Tue 2022-08-16 15:11 -0300, Marcelo Tosatti wrote: > Aaron, > > It is also necessary to remove the delayed_work_pending check from > quiet_vmstat: > > @@ -1987,10 +1970,7 @@ void quiet_vmstat(void) > if (system_state != SYSTEM_RUNNING) > return; > > - if (!delayed_work_pending(this_cpu_ptr(&vmstat_work))) > - return; > - > - if (!need_update(smp_processor_id())) > + if (!__this_cpu_read(vmstat_dirty)) > return; > > > Because, consider the following situation: > > > vmstat_shepherd CPU nohz_full CPU > > > vmstat_dirty = false > enter nohz_full > return to userspace > check vmstat_dirty, unset, > delayed work cancelled. > dirties per-CPU vmstats > vmstat_dirty = true > return to userspace > (quiet_vmstat will skip > clearing stats because > delayed work was not queued). Hi Marcelo, Yes, I agree - the above scenario can occur. Kind regards, -- Aaron Tomlin