RFC vhost-nvme: new qemu nvme backend using nvme target
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest9 patches 3 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/9 | nvme-vhost: add initial commitdrivers/ drivers/ drivers/ | +29 | 0 replies | |
| 2/9 | nvme-vhost: add basic ioctl handlersdrivers/ drivers/ include/ | +279 | 0 replies | |
| 3/9 | nvme-vhost: add basic nvme bar read/writedrivers/ include/ | +116 | 0 replies | |
| 4/9 | nvmet: add a controller "start" hookdrivers/ drivers/ | +6 | 2 replies | |
| 4/9 | nvmet: add a controller "start" hook | +0 | 0 replies | |
| 5/9 | nvme-vhost: add controller "start" callbackdrivers/ | +106 | 0 replies | |
| 6/9 | nvmet: add a "parse_extra_admin_cmd" hookdrivers/ drivers/ | +10 | 0 replies | |
| 7/9 | nvme-vhost: add "parse_extra_admin_cmd" callbackdrivers/ | +153 | 0 replies | |
| 8/9 | nvme-vhost: add vhost memory helpersdrivers/ | +108 | 0 replies | |
| 9/9 | nvme-vhost: add nvme queue handlersdrivers/ | +416 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC PATCH 0/9] vhost-nvme: new qemu nvme backend using nvme target
Hi,
This is the first attempt to add a new qemu nvme backend using in-kernel nvme target.
Most code are ported from qemu-nvme and also borrow code from Hannes Reinecke's rts-megasas.
It's similar as vhost-scsi, but doesn't use virtio. The advantage is guest can run unmodified NVMe driver. So guest can be any OS that has a NVMe driver.
The goal is to get as good performance as vhost-scsi. But for now, peformance is poor.
MMIO is the bottleneck.
One improvment could be to use google's NVMe vendor extension that I send in another thread, aslo here:
https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=nvme-google-ext
Qemu side:
http://www.minggr.net/cgit/cgit.cgi/qemu/log/?h=vhost-nvme.0
Kernel side also here:
https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=vhost-nvme.0
Thanks for any comment,
Ming