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] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0i=TWMjPKxGa8eT-prV=dtQo=pwys5amcj3QL9qo=EYyQ@mail.gmail.com>
Date: Wed, 28 May 2025 15:20:16 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>, x86 Maintainers <x86@...nel.org>, 
	LKML <linux-kernel@...r.kernel.org>, Linux PM <linux-pm@...r.kernel.org>, 
	Len Brown <lenb@...nel.org>, Thomas Gleixner <tglx@...utronix.de>, Borislav Petkov <bp@...e.de>, 
	Dave Hansen <dave.hansen@...ux.intel.com>, 
	Artem Bityutskiy <artem.bityutskiy@...ux.intel.com>, 
	"Gautham R. Shenoy" <gautham.shenoy@....com>, Ingo Molnar <mingo@...hat.com>, 
	Todd Brandt <todd.e.brandt@...ux.intel.com>
Subject: Re: [PATCH v1 0/2] x86/smp: Fix power regression introduced by commit 96040f7273e2

On Wed, May 28, 2025 at 3:18 PM Peter Zijlstra <peterz@...radead.org> wrote:
>
> On Wed, May 28, 2025 at 02:53:13PM +0200, Rafael J. Wysocki wrote:
> > Hi Everyone,
> >
> > Commit 96040f7273e2 ("x86/smp: Eliminate mwait_play_dead_cpuid_hint()")
> > that shipped in 6.15 introduced a nasty power regression on systems that
> > start with "nosmt" in the kernel command line which prevents it from entering
> > deep package idle states (for instance, PC10) later on.  Idle power, including
> > power in suspend-to-idle, goes up significantly on those systems as a result.
> >
> > Address this by reverting commit 96040f7273e2 (patch [1/2]) and using a
> > different approach, which is to retain mwait_play_dead_cpuid_hint() and
> > still prefer it to hlt_play_dead() in case it is needed when cpuidle is
> > not available, but prefer cpuidle_play_dead() to it by default (patch [2/2]).
>
> I don't understand. The revert says the reason it regresses is that it
> goes into play_dead before cpuidle is initialized. The fix is then to
> call cpuidle first.
>
> But if cpuidle isn't initialized yet, how does that fix anything?

The revert fixes the bug.

The other patch does what the reverted commit was supposed to be
doing, but differently.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ