From: bugzilla-daemon@kernel.org
To: linux-scsi@vger.kernel.org
Subject: [Bug 218198] Suspend/Resume Regression with attached ATA devices
Date: Wed, 29 Nov 2023 18:10:20 +0000 [thread overview]
Message-ID: <bug-218198-11613-r2O2qSYOjG@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-218198-11613@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=218198
--- Comment #7 from Dieter Mummenschanz (dmummenschanz@web.de) ---
(In reply to Niklas.Cassel from comment #6)
Hello Niklas,
thanks for looking into this.
> It would be nice if you could test with latest v6.7-rcX.
Okay I took the latest 6.7-rc3 from Linux's git and included your patch. Booted
up my Laptop, put it back to sleep and brought it up again. See attached log.
I've disabed my link_power_management_policy override so all the time my system
was stuck at pc2 package state according to powertop.
> For devsleep to get enabled, you need "sadm sds" in the SATA controller
Yep I can see that:
[ 0.379531] ahci 0000:00:17.0: flags: 64bit ncq sntf stag pm clo only pio
slum part ems sxs deso sadm sds apst
> and "Dev-Sleep" in the SATA device print.
I guess this is it?
[ 1.031169] ata5.00: Features: Trust Dev-Sleep NCQ-sndrcv
> Additionally, your lpm-policy (lpm-pol) has to be either ATA_LPM_MIN_POWER or
> ATA_LPM_MIN_POWER_WITH_PARTIAL (i.e. lpm-pol has to print either 4 or 5).
I'm afraid this is not the case here:
[ 0.399005] ata1: SATA max UDMA/133 abar m2048@0x42233000 port 0x42233100
irq 125 lpm-pol 0
> Note that even if you have LPM_POLICY=3 (ATA_LPM_MED_POWER_WITH_DIPM) in your
> Kconfig, ahci_update_initial_lpm_policy() will possibly override this by
> default
That would explain why I'm seeing "max_performance" in
link_power_management_policy without overriding it.
> The reason why many platforms do this override, is because:
> "One of the requirement for modern x86 system to enter lowest power mode
> (SLP_S0) is SATA IP block to be off. This is true even during when
> platform is suspended to idle and not only in opportunistic (runtime)
> suspend."
>
> "SATA IP block doesn't get turned off till SATA is in DEVSLP mode. Here
> user has to either use scsi-host sysfs or tools like powertop to set
> the sata-host link_power_management_policy to min_power."
>
> See:
> https://github.com/torvalds/linux/commit/
> b1a9585cc396cac5a9e5a09b2721f3b8568e62d0
Thanks for the insight.
> I would really not recommend you doing this, because when you force set
> lpm policy via sysfs, ahci_update_initial_lpm_policy() is not called,
> so if your platform requires ATA_LPM_MIN_* to enter lower power states,
> you forcing lpm-policy to ATA_LPM_MED_POWER_WITH_DIPM will ensure that
> you never enter lower power states.
I understand however I do not know of any other way to enable lower package
states on my machine.
> So it appears that your port does not support devsleep...
Anything we can do to preserve the old bwhaviour until 6.6?
> PxDEVSLP.DSP (in AHCI specification) is the bit that determines if devsleep
> is supported for a specific port. This bit is initialized by BIOS.
>
> So this could be a BIOS bug...
> But you said that it works if you revert Damien's patch...
Yes, I had no issues up to 6.7-rc1.
> Perhaps you could test this patch:
Yweah, see logs.
> You mentioned that it works when you revert Damien's patch.
> It could be interesting to see these prints, before/after the
> suspend/resume both with and without the revert.
I've attached the dmesg logs from kernel 6.6.
Thanks again for your help
Dieter
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2023-11-29 18:10 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-28 7:06 [Bug 218198] New: Suspend/Resume Regression with attached ATA devices bugzilla-daemon
2023-11-28 7:08 ` [Bug 218198] " bugzilla-daemon
2023-11-28 7:47 ` [Bug 218198] New: " Damien Le Moal
2023-11-28 7:47 ` [Bug 218198] " bugzilla-daemon
2023-11-28 8:24 ` bugzilla-daemon
2023-11-29 10:42 ` Niklas Cassel
2023-11-29 18:47 ` Phillip Susi
2023-11-30 8:48 ` Niklas Cassel
2023-11-28 8:24 ` bugzilla-daemon
2023-11-28 9:54 ` bugzilla-daemon
2023-11-28 9:55 ` bugzilla-daemon
2023-11-29 10:42 ` bugzilla-daemon
2023-11-29 18:10 ` bugzilla-daemon [this message]
2023-12-15 15:28 ` Niklas Cassel
2023-11-29 18:10 ` bugzilla-daemon
2023-11-29 18:11 ` bugzilla-daemon
2023-11-29 18:47 ` bugzilla-daemon
2023-11-30 8:49 ` bugzilla-daemon
2023-12-03 19:50 ` Phillip Susi
2023-12-03 19:50 ` bugzilla-daemon
2023-12-04 9:31 ` bugzilla-daemon
2023-12-05 21:37 ` Phillip Susi
2023-12-05 21:37 ` bugzilla-daemon
2023-12-06 6:51 ` bugzilla-daemon
2023-12-07 13:55 ` Phillip Susi
2023-12-07 13:55 ` bugzilla-daemon
2023-12-15 10:51 ` bugzilla-daemon
2023-12-15 15:28 ` bugzilla-daemon
2023-12-18 10:18 ` bugzilla-daemon
2023-12-18 10:29 ` Damien Le Moal
2024-01-11 16:12 ` Niklas Cassel
2023-12-18 10:20 ` [Bug 218198] " bugzilla-daemon
2023-12-18 10:21 ` bugzilla-daemon
2023-12-18 10:21 ` bugzilla-daemon
2023-12-18 10:22 ` bugzilla-daemon
2023-12-18 10:22 ` bugzilla-daemon
2023-12-18 10:29 ` bugzilla-daemon
2023-12-18 10:36 ` bugzilla-daemon
2024-03-05 13:32 ` bugzilla-daemon
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=bug-218198-11613-r2O2qSYOjG@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=linux-scsi@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.