Re: [PATCH v8 5/5] tick/sched: Ensure quiet_vmstat() is called when the idle tick was stopped too

From: Aaron Tomlin
Date: Wed Oct 12 2022 - 08:41:16 EST


> Given work canceled because per-CPU pages can be freed remotely from
> housekeeping CPUs (see patch 3/5), what is added here is not needed.

Hi Hillf,

Firstly, apologies for the delay!

The concern is to ensure CPU-specific vmstat counters are reset and folded
into NUMA node and zone specific and global counters too before entering
idle. It is necessary to invoke quiet_vmstat() on return to idle even if
the scheduling-clock tick has been previously stopped.
Please refer to the complete scenario I described again.

If I understand correctly, indeed the remote drain/or free of zone
CPU-specific pages can be initiated by a "housekeeping" CPU i.e.
refresh_cpu_vm_stats(true) via a worker thread/or kworker, yet the actual
free will only occur when the nohz_full CPU exits idle code and calls
schedule_idle().


Kind regards,

--
Aaron Tomlin