Re: Hard Disk consumes lots of power in s2idle

From: Rafael J. Wysocki
Date: Thu Feb 20 2020 - 05:12:32 EST


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.

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?