From: kbusch@kernel.org (Keith Busch)
Subject: [PATCH] drivers/nvme: save/restore HMB on suspend/resume
Date: Tue, 30 Jul 2019 15:10:44 -0600 [thread overview]
Message-ID: <20190730211044.GJ13948@localhost.localdomain> (raw)
In-Reply-To: <c90ac9850f944407b39e369dce2e1e72@AUSX13MPS303.AMER.DELL.COM>
On Tue, Jul 30, 2019@08:59:38PM +0000, Charles.Hyde@dellteam.com wrote:
> > > LiteOn CL1 devices allocate host memory buffer at initialization.
> > > This patch saves and restores the host memory buffer allocation for
> > > any NVMe device which has HMB. Devices which have on-board memory
> > > buffers are not impacted. This patch has been tested locally with the
> > > following devices: LiteOn CL1 and CA3, Hynix BC511 and PC601, WDC
> > > SN520 and SN720. This patch has also been tested by our partners at
> > > Wistron and Compal.
> >
> > Please explain why you're doing this rather than what you're doing. We
> > previously concluded that NVMe power states have no spec defined impact
> > on HMB, so changing driver behavior requires justification.
>
> Why this change is necessary is because LiteOn CL1 devices would
> effectively freeze when coming out of S0ix. The user perspective is
> that, although the Linux kernel is still running in RAM, no commands
> could be executed because the CL1 device had no memory buffer, or the
> memory buffer was not in the same location; the memory buffer address
> was not discernable by me because I had no ability to run commands in
> this condition. After implementing this change, these same CL1 devices
> function properly and command access is restored.
But why does the device need this? The kernel has not relocated the HMB,
and it hasn't removed control of the HMB from the device either. We made
a concious choice to not disable HMB in order to get the fastest resume
latency, and additional HMB management is not supposed to be necessary
in the first place. So what's going on with this device that it needs
the driver to disable/enable HMB? Is the nvme power state breaking its
ability to use it or something else?
next prev parent reply other threads:[~2019-07-30 21:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-30 20:09 [PATCH] drivers/nvme: save/restore HMB on suspend/resume Charles.Hyde
2019-07-30 20:48 ` Keith Busch
2019-07-30 20:59 ` Charles.Hyde
2019-07-30 21:10 ` Keith Busch [this message]
2019-07-30 21:32 ` Charles.Hyde
2019-07-30 21:34 ` Keith Busch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190730211044.GJ13948@localhost.localdomain \
--to=kbusch@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox