Re: Hard Disk consumes lots of power in s2idle

From: Rafael J. Wysocki
Date: Thu Feb 20 2020 - 05:34:19 EST


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.