[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/3] hw/block/nvme: cmb enhancements and bump to v1.4
From: |
Keith Busch |
Subject: |
Re: [PATCH 0/3] hw/block/nvme: cmb enhancements and bump to v1.4 |
Date: |
Sat, 19 Dec 2020 03:03:41 +0900 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
On Fri, Dec 18, 2020 at 10:23:04AM +0100, Klaus Jensen wrote:
> From: Klaus Jensen <k.jensen@samsung.com>
>
> This adds CMB logic from v1.4. To my knowledge, this is the last piece
> missing for v1.4 compliance, so bump the controller spec version. Please
> retort if I am jumping the gun.
>
> Since the slow-moving (sorry, super poor attempt of humor) Linux kernel
> nvme driver does not support v1.4 CMB, this series adds a 'x-legacy-cmb'
> nvme device parameter that reverts the CMB configuration behavior to
> v1.3, thus allowing the kernel to continue using the CMB for submission
> queues.
>
> The question here is if we should rather skip that parameter, only
> support v1.4 behavior and point the finger at the kernel nvme gang. I'm
> leaning towards this.
>
> Keith, what is your opinion on this?
The driver may know if it's running in a VM, but it doesn't necessarily
know if its device is a passthrough vs. emulated. In the passthrough
case, we can't use the CMB at all for <= 1.3 versions since the GPA vs
HPA are not being considered. IMO, the kernel driver does need to be
updated to suppress CMB usage for pre-1.4, and it should also add the
CMBMSC capabilities for 1.4+.
Going forward with the qemu controller, I would remove legacy support
for CMB entirely since every host should be able to interop with it
without CMB support.