[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <9AE4A3E7-CDB8-4730-8B4E-43C93FC0C47F@canonical.com>
Date: Tue, 14 May 2019 01:16:22 +0800
From: Kai-Heng Feng <kai.heng.feng@...onical.com>
To: Keith Busch <kbusch@...nel.org>
Cc: Christoph Hellwig <hch@....de>, Mario.Limonciello@...l.com,
keith.busch@...el.com, sagi@...mberg.me,
linux-nvme@...ts.infradead.org, rafael@...nel.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH] nvme/pci: Use host managed power state for suspend
at 23:16, Keith Busch <kbusch@...nel.org> wrote:
> On Mon, May 13, 2019 at 04:57:08PM +0200, Christoph Hellwig wrote:
>> On Mon, May 13, 2019 at 02:54:49PM +0000, Mario.Limonciello@...l.com
>> wrote:
>>> And NVME spec made it sound to me that while in a low power state it
>>> shouldn't
>>> be available if the memory isn't available.
>>>
>>> NVME spec in 8.9:
>>>
>>> "Host software should request that the controller release the
>>> assigned ranges prior to a shutdown event, a Runtime D3 event, or any
>>> other event
>>> that requires host software to reclaim the assigned ranges."
>>
>> The last part of the quoted text is the key - if the assigned range
>> is reclaimed, that is the memory is going to be used for something else,
>> we need to release the ranges. But we do not release the ranges,
>> as we want to keep the memory in use so that we can quickly use it
>> again.
>
> Yes, this. As far as I know, the host memory range is still accessible in
> the idle suspend state. If there are states in which host memory is not
> accessible, a reference explaining the requirement will be most helpful.
Disabling HMB prior suspend makes my original patch work without memory
barrier.
However, using the same trick on this patch still freezes the system during
S2I.
Kai-Heng
Powered by blists - more mailing lists