Linux Power Management development
 help / color / mirror / Atom feed
From: Mario Limonciello <mario.limonciello@amd.com>
To: Fourhundred Thecat <400thecat@ik.me>,
	platform-driver-x86@vger.kernel.org
Cc: linux-pm@vger.kernel.org, Shyam-sundar.S-k@amd.com,
	hansg@kernel.org, ilpo.jarvinen@linux.intel.com,
	rafael@kernel.org
Subject: Re: [BUG] s2idle: unrecoverable sleep on ThinkPad P16s Gen 4 AMD, (Strix Point) when more than 16 logical CPUs are online
Date: Fri, 25 Sep 2026 08:30:45 -0500	[thread overview]
Message-ID: <b2e13400-d1b7-4a9f-b7bc-a2d1dc7a4912@amd.com> (raw)
In-Reply-To: <3a080b50-6396-bf8f-2e70-011b85c15fe2@ik.me>



On 9/25/26 02:05, Fourhundred Thecat wrote:
> resolved by resetting BIOS to factory defaults
> 
> after that, I tried painstakingly to enable/disable one by one
> 
> The cause is two BIOS settings, and the reason it took so long to find 
> is that they are independently sufficient:
> 
>    AmdVt (AMD virtualization)        Disable  -> breaks s2idle wake
>    PlutonSecurityProcessor           Disable  -> breaks s2idle wake
> 
> Either one alone is enough. Both must be enabled for the machine to 
> resume. The full matrix, all with the IOMMU enabled and 24 CPUs online:
> 
>    AmdVt      Pluton     result
>    Enable     Disable    no wake
>    Disable    Enable     no wake
>    Disable    Disable    no wake
>    Enable     Enable     wakes normally
> 
> I had both disabled.
> It also explains the confusing bisect: when I tested AmdVt=Enable with 
> everything else at my settings it still hung, and when I tested 
> Pluton=Enable with everything else at my settings it still hung, so I 
> eliminated both. Each test only showed the setting was not necessary; 
> neither showed it was not sufficient. With two independent triggers 
> those observations are both true at once and single-setting elimination 
> gives nothing.
> 
> So amd_iommu=off and nr_cpus=16 were both masking this rather than 
> telling us anything about the kernel.

Well this is a great outcome.  Would you mind opening a pull request to 
amd-debug-tools and adding a case to this to test for this issue?  That 
would help anyone else that encounters this in the future and save us 
effort drilling down again.

You should be able to add a new check that verified the value of these 
BIOS settings using the think-lmi driver sysfs interface.
My thought on the logic would be something like this:

1) Check whether think-lmi directory exists, skip the check if it doesn't.
2) Check whether both of those attributes exist.  If they don't, skip 
the check.
3) Check the values of both of those attributes.  If there is a failure 
report it.  If it's a pass report it.

It can generally apply to all Lenovo systems that offer these settings 
then (It's more likely a "generic" BIOS bug).

> 
> this is clearly a Lenovo BIOS bug. should this be reported to them ?

Before you report this to them, can you diff some acpidumps from the two 
changes that break things?

I would have "expected" that turning off this AmdVt BIOS option stopped 
the IVRS table from being created, but that seems not to be the case.

I just wonder if we should be keying off anything else in Linux for this 
case to avoid the issue.

  reply	other threads:[~2026-09-25 13:30 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-22 13:43 [BUG] s2idle: unrecoverable sleep on ThinkPad P16s Gen 4 AMD, (Strix Point) when more than 16 logical CPUs are online Fourhundred Thecat
2026-09-22 14:47 ` Mario Limonciello
2026-09-23  5:58   ` Fourhundred Thecat
2026-09-23 12:41     ` Mario Limonciello
2026-09-23 13:51       ` Fourhundred Thecat
2026-09-23 14:36         ` Mario Limonciello
2026-09-23 16:12           ` Fourhundred Thecat
2026-09-23 16:15             ` Mario Limonciello
2026-09-23 16:20               ` Mario Limonciello
2026-09-23 16:37                 ` Fourhundred Thecat
2026-09-23 16:41                   ` Mario Limonciello
2026-09-23 16:54                     ` Fourhundred Thecat
2026-09-23 16:59                       ` Mario Limonciello
2026-09-23 18:02                         ` Fourhundred Thecat
2026-09-23 18:11                           ` Mario Limonciello
2026-09-23 18:14                             ` Fourhundred Thecat
2026-09-23 18:25                               ` Mario Limonciello
2026-09-23 18:39                                 ` Fourhundred Thecat
2026-09-23 18:57                                   ` Mario Limonciello
2026-09-23 19:13                                     ` Fourhundred Thecat
2026-09-23 19:20                                       ` Mario Limonciello
2026-09-23 20:26                                         ` Fourhundred Thecat
2026-09-23 20:48                                           ` Fourhundred Thecat
2026-09-23 21:10                                             ` Mario Limonciello
2026-09-24  5:36                                               ` Fourhundred Thecat
2026-09-25  7:05                                               ` Fourhundred Thecat
2026-09-25 13:30                                                 ` Mario Limonciello [this message]
2026-09-26  4:13                                                   ` Fourhundred Thecat
2026-09-26 18:29                                                     ` Mario Limonciello
2026-09-29  5:43                                                       ` Fourhundred Thecat
2026-09-29  5:57                                                         ` Fourhundred Thecat
2026-09-29 13:37                                                           ` Mario Limonciello

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b2e13400-d1b7-4a9f-b7bc-a2d1dc7a4912@amd.com \
    --to=mario.limonciello@amd.com \
    --cc=400thecat@ik.me \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox