On Thu, 07/06 13:38, Keith Busch wrote:
> On Wed, Jul 05, 2017 at 09:36:31PM +0800, Fam Zheng wrote:
> > This is a new protocol driver that exclusively opens a host NVMe
> > controller through VFIO. It achieves better latency than linux-aio by
> > completely bypassing host kernel vfs/block layer.
> > 
> >     $rw-$bs-$iodepth  linux-aio     nvme://
> >     ----------------------------------------
> >     randread-4k-1     8269          8851
> >     randread-512k-1   584           610
> >     randwrite-4k-1    28601         34649
> >     randwrite-512k-1  1809          1975
> > 
> > The driver also integrates with the polling mechanism of iothread.
> > 
> > This patch is co-authored by Paolo and me.
> > 
> > Signed-off-by: Fam Zheng <f...@redhat.com>
> 
> I haven't much time to do a thorough review, but in the brief time so
> far the implementation looks fine to me.

Thanks for taking a look!

> 
> I am wondering, though, if an NVMe vfio driver can be done as its own
> program that qemu can link to. The SPDK driver comes to mind as such an
> example, but it may create undesirable dependencies.

Yes, good question. I will take a look at the current SPDK driver codebase to
see if it can be linked this way. When I started this work, SPDK doesn't work
with guest memory, because it requires apps to use its own hugepage powered
allocators. This may have changed because I know it gained a vhost-user-scsi
implementation (but that is a different story, together with vhost-user-blk).

Fam

Reply via email to