Re: Hard Disk consumes lots of power in s2idle

From: Kai-Heng Feng
Date: Thu Feb 20 2020 - 05:25:03 EST

> On Feb 20, 2020, at 18:12, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
> On Thu, Feb 20, 2020 at 9:08 AM Kai-Heng Feng
> <kai.heng.feng@xxxxxxxxxxxxx> wrote:
>> Hi Srinivas,
>>> On Feb 20, 2020, at 02:36, Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote:
>>> Hi Kai,
>>> On Wed, 2020-02-19 at 22:22 +0800, Kai-Heng Feng wrote:
>>>> Hi Srinivas,
>>>> Your previous work to support DEVSLP works well on SATA SSDs, so I am
>>>> asking you the issue I am facing:
>>>> Once a laptop has a HDD installed, the power consumption during
>>>> S2Idle increases ~0.4W, which is quite a lot.
>>>> However, HDDs don't seem to support DEVSLP, so I wonder if you know
>>>> to do proper power management for HDDs?
>>> What is the default here
>>> cat /sys/power/mem_sleep
>>> s2idle or deep?
>> It defaults to s2idle.
>>> Please follow debug steps here:
>>> We need to check whether you get any PC10 residency or not.
>> Yes it reaches PC10. It doesn't reach SLP_S0 though.
>> The real number on S2Idle power consumption:
>> No HDD: ~1.4W
>> One HDD: ~1.8W
>> If the SoC doesn't hit PC10 the number should be significantly higher.
>> That's why I think the issue is the power management on HDD itself.
> I'm assuming that you mean a non-SSD device here.

Yes, it's spinning rust here.

> That would be handled via ata_port_suspend() I gather and whatever
> that does should do the right thing.
> Do you think that the disk doesn't spin down or it spins down, but the
> logic stays on?

The spin sound is audible, so I am certain the HDD spins down during S2Idle.

How do I know if the logic is on or off?