Messages in this thread | | | From | Doug Smythies <> | Date | Wed, 9 Aug 2023 17:43:51 -0700 | Subject | Re: [RFT][PATCH v2 0/3] cpuidle: teo: Do not check timers unconditionally every time |
| |
On Wed, Aug 9, 2023 at 9:24 AM Anna-Maria Behnsen <anna-maria@linutronix.de> wrote: > On Tue, 8 Aug 2023, Doug Smythies wrote: > > On Tue, Aug 8, 2023 at 9:43 AM Rafael J. Wysocki <rafael@kernel.org> wrote: > > > On Tue, Aug 8, 2023 at 5:22 PM Doug Smythies <dsmythies@telus.net> wrote: > > [...] > > > > > Conclusions: Overall, I am not seeing a compelling reason to > > > > proceed with this patch set. > > > > > > On the other hand, if there is a separate compelling reason to do > > > that, it doesn't appear to lead to a major regression. > > > > Agreed. > > > > Regarding the compelling reason: > > On a fully loaded machine with 256 CPUs tick_nohz_next_event() is executed > ~48000 times per second. With this patchset it is reduced to ~120 times per > second. The factor for the difference is 400. This is already an > improvement. > > tick_nohz_next_event() marks timer bases idle, whenever possible - even if > the tick is not stopped afterwards. When a timer is enqueued remote into an > idle timer base an IPI is sent. Calling tick_nohz_next_event() only when > the system is not that busy, prevents those unnecessary IPIs. > > Beside of those facts, I'm working on the timer pull model [0]. With this, > non pinned timers can also be expired by other CPUs and do not prevent CPUs > from going idle. Those timers will be enqueued on the local CPU without any > heuristics. This helps to improve behavior when a system is idle (regarding > power). But the call of tick_nohz_next_event() will be more expensive which > led to a regression during testing. This regression is gone with the new > teo implementation - it seems that there is also an improvement under > load. I do not have finalized numbers, as it is still WIP (I came across > some other possible optimizations during analyzing the regression, which > I'm evaluating at the moment). > > Thanks, > > Anna-Maria > > > [0] https://lore.kernel.org/lkml/20230524070629.6377-1-anna-maria@linutronix.de/
Thank you for the context and the link.
... Doug
| |