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-next>] [day] [month] [year] [list]
Date:   Thu, 4 Mar 2021 18:34:43 +0300 (MSK)
From:   Alexander Monakov <amonakov@...ras.ru>
To:     Hans de Goede <hdegoede@...hat.com>
cc:     linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
        Zhang Rui <rui.zhang@...el.com>
Subject: AHCI SATA Runtime PM

Hello, Hans, Linux PM folks,

I'm looking for clarification regarding this patch discussion:

https://patchwork.kernel.org/project/linux-pm/patch/20180420101834.15783-2-0v3rdr0n3@gmail.com/

Hans said,

> Ah, so the AHCI code has runtime pm enabled by default (so there
> is another pm_runtime_allow() somewhere, but then disables it for
> unused ports to make hotpluging something into those ports work.

I have a laptop where two unused AHCI SATA controllers are present (but
obviously nothing can be hotplugged into them). Apparently due to the above,
they do not enter runtime autosuspend.

The problem is, these "ATA port" nodes don't seem to participate in udev
hierarchy, so it's unclear how I'm supposed to automatically re-enable
runtime PM for them. For PCI device nodes, I have

ACTION=="add", SUBSYSTEM=="pci", TEST=="power/control", ATTR{power/control}="auto"

but ata1/uevent is empty, so there's no obvious way to write the corresponding
UDev rule.

Prior to discovering the above patch discussion, I have filed a bug:
https://bugzilla.kernel.org/show_bug.cgi?id=211837

Does the above correctly reflect how AHCI PM is supposed to be? If so, what is
the proper way to enable runtime PM for unused ATA ports?

Thank you.
Alexander

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ