Re: [PATCH 0/2] Add support for StorageD3Enable _DSD property

From: Williams, Dan J
Date: Wed Apr 29 2020 - 01:22:37 EST


On Tue, 2020-04-28 at 08:27 -0700, David E. Box wrote:
+AD4- On Tue, 2020-04-28 at 16:22 +-0200, Christoph Hellwig wrote:
+AD4- +AD4- On Tue, Apr 28, 2020 at 07:09:59AM -0700, David E. Box wrote:
+AD4- +AD4- +AD4- +AD4- I'm not sure who came up with the idea to put this into ACPI,
+AD4- +AD4- +AD4- +AD4- but
+AD4- +AD4- +AD4- +AD4- it
+AD4- +AD4- +AD4- +AD4- belongs into NVMe. Please talk to the NVMe technical working
+AD4- +AD4- +AD4- +AD4- group
+AD4- +AD4- +AD4- +AD4- instead of trying to overrules them in an unrelated group that
+AD4- +AD4- +AD4- +AD4- doesn't
+AD4- +AD4- +AD4- +AD4- apply to all of PCIe.
+AD4- +AD4- +AD4-
+AD4- +AD4- +AD4- Agreed that this is not ideal since it does not apply to all of
+AD4- +AD4- +AD4- PCIe.
+AD4- +AD4- +AD4- But as the property already exists on shipping systems, we need
+AD4- +AD4- +AD4- to
+AD4- +AD4- +AD4- be
+AD4- +AD4- +AD4- able to read it in the NVMe driver and the patch is consitent
+AD4- +AD4- +AD4- with
+AD4- +AD4- +AD4- the
+AD4- +AD4- +AD4- way properties under PCI ports are read.
+AD4- +AD4-
+AD4- +AD4- The point is that it is not the BIOSes job do decide how Linux does
+AD4- +AD4- power management. For example D3 has really horrible entry and
+AD4- +AD4- exit
+AD4- +AD4- latencies in many cases, and will lead to higher power usage.
+AD4-
+AD4- The platform can know which pm policies will save the most power. But
+AD4- since the solution doesn't apply to all PCIe devices (despite BIOS
+AD4- specifying it that way) I'll withdraw this patch. Thanks.

Wait, why withdraw? In this case the platform is unfortunately
preventing the standard driver from making a proper determination. So
while I agree that it's not the BIOSes job, when the platform actively
prevents proper operation due to some ill conceived non-standard
platform property what is Linux left to do on these systems?

The +ACo-patch+ACo- is not trying to overrule NVME, and the best I can say is
that the Intel Linux team was not in the loop when this was being
decided between the platform BIOS implemenation and whomever thought
they could just publish random ACPI properties that impacted NVME
operation +AFs-1+AF0-.

So now David is trying to get these platform unbroken because they are
already shipping with this b0rkage.

+AFs-1+AF0-:
https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/power-management-for-storage-hardware-devices-intro