lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJZ5v0hqkdzbVkSBrMRw9BEQRowxtVTMHCAsffXT=P_otg++pQ@mail.gmail.com>
Date: Wed, 28 Jan 2026 19:05:42 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Doug Smythies <dsmythies@...us.net>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>, Christian Loehle <christian.loehle@....com>, 
	LKML <linux-kernel@...r.kernel.org>, Linux PM <linux-pm@...r.kernel.org>
Subject: Re: [PATCH v1] cpuidle: governors: menu: Always check timers with
 tick stopped

On Wed, Jan 28, 2026 at 6:19 AM Doug Smythies <dsmythies@...us.net> wrote:
>
> On 2026.01.20 07:26 Rafael J. Wysocki wrote:
> >From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> >
> > After commit 5484e31bbbff ("cpuidle: menu: Skip tick_nohz_get_sleep_length()
> > call in some cases"), if the return value of get_typical_interval()
> > multiplied by NSEC_PER_USEC is not greater than RESIDENCY_THRESHOLD_NS,
> > the menu governor will skip computing the time till the closest timer.
> > If that happens when the tick has been stopped already, the selected
> > idle state may be too deep due to the subsequent check comparing
> > predicted_ns with TICK_NSEC and causing its value to be replaced with
> > the expected time till the closest timer, which is KTIME_MAX in that
> > case.  That will cause the deepest enabled idle state to be selected,
> > but the time till the closest timer very well may be shorter than the
> > target residency of that state, in which case a shallower state should
> > be used.
> >
> > Address this by making menu_select() always compute the time till the
> > closest timer when the tick has been stopped.
> >
> > Also move the predicted_ns check mentioned above into the branch in
> > which the time till the closest timer is determined because it only
> > needs to be done in that case.
> >
> > Fixes: 5484e31bbbff ("cpuidle: menu: Skip tick_nohz_get_sleep_length() call in some cases")
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
>
> ... snip ...
>
> I have been testing with this patch, and have not observed any difference
> in test results and energy use with and without this patch.
> A couple of graphs are attached.
> I did this work on top of the teo work, so those results are on the graphs also.
>
> Legend:
> rc5 = kernel 6.19-rc5
> rjw = kernel 6.19-rc5 + original teo 5 patch set
> rjw-1-1 = kernel 6.19-rc5 + current teo 5 patch set
> (note: Not including the most recent V2 of patch 5 of 5,
> now a newer 2 patch set.)
> menu = kernel 6.19-rc5
> menu-rjw = kernel 6.19-rc5 + this patch.
> disable = all idle states except state 0 disabled, as a reference plot, at the cost of energy.

Thanks for the data!

I think it is most likely to make a difference for the setups
involving CPU isolation.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ