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

From: Aaron Tomlin
Date: Wed May 04 2022 - 05:38:06 EST


On Thu 2022-04-28 15:10 -0300, Marcelo Tosatti wrote:
> So you are syncing the vmstats on every system call return:

Hi Marcelo,

Sorry about the delay!

No - indeed, that would be too expensive. If I understand correctly,
Peter Zijlstra's feedback was in response to a previous suggestion made:

"Could we *always* fold the vmstat counters when entering
idle mode? ..."

I think an exception should be made for the adaptive-tick mode/or a
nohz_full CPU case when the scheduling-clock tick is stopped. Also, I feel
correctness is key, as previously indicated since a significant divergence
can impact memory reclaim code.

> Have you measured performance of any system call heavy application
> with this change?

Unfortunately not. That being said, the aforementioned test and work will
only take place under a nohz_full CPU and if the tick is stopped.
So this should be somewhat limited, no?

> Then the comment on why its so slow:
>
> "This loop is quite heavy. Maybe reducing the data necessary to be read
> to a couple of cachelines would improve it considerably."
>
> The comment:
>
> "Is there anything that prevents a nohz full CPU from running an
> application with short and frequent idling?"
>
> Is confusing and can be ignored.

Understood.



Kind regards,

--
Aaron Tomlin