Bug 1590472 - RFE: QEMU VFIO based block driver for NVMe devices (OSP)
Summary: RFE: QEMU VFIO based block driver for NVMe devices (OSP)
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: OSP DFG:Compute
QA Contact: OSP DFG:Compute
URL:
Whiteboard:
Depends On: 1416180 1416182 1519004 1519005
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-12 16:12 UTC by Ademar Reis
Modified: 2023-03-21 18:51 UTC (History)
20 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of: 1416182
Environment:
Last Closed: 2022-09-23 13:37:13 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-3109 0 None None None 2021-11-18 19:35:30 UTC

Description Ademar Reis 2018-06-12 16:12:14 UTC
+++ This bug was initially created as a clone of Bug #1416182 +++

+++ This bug was initially created as a clone of Bug #1416180 +++

This BZ tracks the upstream work currently being done by Fam to introduce a VFIO based NVMe driver to QEMU:

https://lists.gnu.org/archive/html/qemu-devel/2016-12/msg02812.html

Date: Wed, 21 Dec 2016 00:31:35 +0800
From: Fam Zheng <famz>
Subject: [Qemu-devel] [PATCH 0/4] RFC: A VFIO based block driver for NVMe device

This series adds a new protocol driver that is intended to achieve about 20%
better performance for latency bound workloads (i.e. synchronous I/O) than
linux-aio when guest is exclusively accessing a NVMe device, by talking to the
device directly instead of through kernel file system layers and its NVMe
driver.

This applies on top of Stefan's block-next tree which has the busy polling
patches - the new driver also supports it.

A git branch is also available as:

    https://github.com/famz/qemu nvme

See patch 4 for benchmark numbers.

Tests are done on QEMU's NVMe emulation and a real Intel P3700 SSD NVMe card.
Most of dd/fio/mkfs/kernel build and OS installation testings work well, but an
weird write fault looking similar to [1] is consistently seen when installing
RHEL 7.3 guest, which is still under investigation.

[1]: http://lists.infradead.org/pipermail/linux-nvme/2015-May/001840.html

Also, the ram notifier is not enough for hot plugged block device because in
that case the notifier is installed _after_ ram blocks are added so it won't
get the events.

Comment 1 Kashyap Chamarthy 2018-07-20 10:09:05 UTC
I'm yet to try out the NVMe driver in QEMU, so we still need to investigate how best to expose this in Nova.

That said, I read the dependent bugs from QEMU and libvirt:

  - The QEMU patches seem to be merged 
    <https://bugzilla.redhat.com/show_bug.cgi?id=1416180> and are
    available via: qemu-kvm-rhev-2.12.0-4.el7

  - The libvirt work remains to be done
    <https://bugzilla.redhat.com/show_bug.cgi?id=1416182>

Comment 2 Kashyap Chamarthy 2018-08-22 13:29:04 UTC
This needs to be deferred, as the libvirt upstream work remains to be done, based on the below RHEL-8 bug: https://bugzilla.redhat.com/show_bug.cgi?id=1519005#c2

And as near as I know, we don't have open customer requests for this.

Comment 3 Kashyap Chamarthy 2019-04-08 13:10:48 UTC
(In reply to Kashyap Chamarthy from comment #1)
> I'm yet to try out the NVMe driver in QEMU, so we still need to investigate
> how best to expose this in Nova.
> 
> That said, I read the dependent bugs from QEMU and libvirt:
> 
>   - The QEMU patches seem to be merged 
>     <https://bugzilla.redhat.com/show_bug.cgi?id=1416180> and are
>     available via: qemu-kvm-rhev-2.12.0-4.el7
> 
>   - The libvirt work remains to be done
>     <https://bugzilla.redhat.com/show_bug.cgi?id=1416182>

NOTE: The last URL is the libvirt work for RHEL-7, and it was closed "WONTFIX" for RHEL-7.  

The libvirt work is being tracked as part of RHEL-8 (which is linked in comment#2).

Comment 4 Artom Lifshitz 2022-09-23 13:37:13 UTC
Whlie this would be nice to have, there is no customer case or clear indication of the importance of having this in Nova. Closing as WONTFIX for now. If the situation changes, we can open a new tracker.


Note You need to log in before you can comment on or make changes to this bug.