Re: Hard Disk consumes lots of power in s2idle

From: Kai-Heng Feng
Date: Thu Feb 20 2020 - 06:21:28 EST




> On Feb 20, 2020, at 18:34, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>
> On Thu, Feb 20, 2020 at 11:25 AM Kai-Heng Feng
> <kai.heng.feng@xxxxxxxxxxxxx> wrote:
>>
>>
>>
>>> 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:
>>>>> https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-linux
>>>>>
>>>>> 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.
>
> OK
>
>> How do I know if the logic is on or off?
>
> Well, if it were off, it would not draw power. :-)
>
> So IMO it is reasonable to assume that the logic on the drive stays
> on. I'm not aware of anything that can be done to turn it off,
> however.

Okay, thanks for the info.
I'll ask vendors the possibility to handle it at system firmware level.

Kai-Heng