Re: [Regression] Commit "nvme/pci: Use host managed power state for suspend" has problems

Rafael J. Wysocki
2019-07-31T21:26:08Z

On Tue, Jul 30, 2019 at 11:33 PM Keith Busch <kbusch@kernel.org> wrote:
>
> On Tue, Jul 30, 2019 at 09:05:22PM +0000, Mario.Limonciello@dell.com wrote:
> > > -----Original Message-----
> > > From: Keith Busch <kbusch@kernel.org>
> > > Sent: Tuesday, July 30, 2019 2:20 PM
> > > To: Kai-Heng Feng
> > > Cc: Limonciello, Mario; rjw@rjwysocki.net; keith.busch@intel.com; hch@lst.de;
> > > sagi@grimberg.me; linux-nvme@lists.infradead.org; linux-pm@vger.kernel.org;
> > > linux-kernel@vger.kernel.org; rajatja@google.com
> > > Subject: Re: [Regression] Commit "nvme/pci: Use host managed power state for
> > > suspend" has problems
> > >
> > >
> > > [EXTERNAL EMAIL]
> > >
> > > On Wed, Jul 31, 2019 at 02:50:01AM +0800, Kai-Heng Feng wrote:
> > > >
> > > > Just did a quick test, this patch regress SK Hynix BC501, the SoC stays at
> > > > PC3 once the patch is applied.
> > >
> > > Okay, I'm afraid device/platform quirks may be required unless there are
> > > any other ideas out there.
> >
> > I think if a quirk goes in for Rafael's SSD it would have to be a quirk specific to this
> > device and FW version per the findings on KH checking the same device with the
> > older FW version.
>
> That's fine, we have the infrastructure in place for fw specific quirks.
> See drivers/nvme/host/core.c:nvme_core_quirk_entry

A couple of remarks if you will.

First, we don't know which case is the majority at this point. For
now, there is one example of each, but it may very well turn out that
the SK Hynix BC501 above needs to be quirked.

Second, the reference here really is 5.2, so if there are any systems
that are not better off with 5.3-rc than they were with 5.2, well, we
have not made progress. However, if there are systems that are worse
off with 5.3, that's bad. In the face of the latest findings the only
way to avoid that is to be backwards compatible with 5.2 and that's
where my patch is going. That cannot be achieved by quirking all
cases that are reported as "bad", because there still may be
unreported ones.