bdd6a90a9e
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 10.5k 21.6k randread-512k-1 745 1591 randwrite-4k-1 30.7k 37.0k randwrite-512k-1 1945 1980 (unit: IOPS) The driver also integrates with the polling mechanism of iothread. This patch is co-authored by Paolo and me. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com> Message-Id: <20180116060901.17413-4-famz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com>
53 lines
1.9 KiB
Makefile
53 lines
1.9 KiB
Makefile
block-obj-y += raw-format.o qcow.o vdi.o vmdk.o cloop.o bochs.o vpc.o vvfat.o dmg.o
|
|
block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o qcow2-bitmap.o
|
|
block-obj-y += qed.o qed-l2-cache.o qed-table.o qed-cluster.o
|
|
block-obj-y += qed-check.o
|
|
block-obj-y += vhdx.o vhdx-endian.o vhdx-log.o
|
|
block-obj-y += quorum.o
|
|
block-obj-y += parallels.o blkdebug.o blkverify.o blkreplay.o
|
|
block-obj-y += block-backend.o snapshot.o qapi.o
|
|
block-obj-$(CONFIG_WIN32) += file-win32.o win32-aio.o
|
|
block-obj-$(CONFIG_POSIX) += file-posix.o
|
|
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
|
|
block-obj-y += null.o mirror.o commit.o io.o
|
|
block-obj-y += throttle-groups.o
|
|
block-obj-$(CONFIG_LINUX) += nvme.o
|
|
|
|
block-obj-y += nbd.o nbd-client.o sheepdog.o
|
|
block-obj-$(CONFIG_LIBISCSI) += iscsi.o
|
|
block-obj-$(if $(CONFIG_LIBISCSI),y,n) += iscsi-opts.o
|
|
block-obj-$(CONFIG_LIBNFS) += nfs.o
|
|
block-obj-$(CONFIG_CURL) += curl.o
|
|
block-obj-$(CONFIG_RBD) += rbd.o
|
|
block-obj-$(CONFIG_GLUSTERFS) += gluster.o
|
|
block-obj-$(CONFIG_VXHS) += vxhs.o
|
|
block-obj-$(CONFIG_LIBSSH2) += ssh.o
|
|
block-obj-y += accounting.o dirty-bitmap.o
|
|
block-obj-y += write-threshold.o
|
|
block-obj-y += backup.o
|
|
block-obj-$(CONFIG_REPLICATION) += replication.o
|
|
block-obj-y += throttle.o
|
|
|
|
block-obj-y += crypto.o
|
|
|
|
common-obj-y += stream.o
|
|
|
|
nfs.o-libs := $(LIBNFS_LIBS)
|
|
iscsi.o-cflags := $(LIBISCSI_CFLAGS)
|
|
iscsi.o-libs := $(LIBISCSI_LIBS)
|
|
curl.o-cflags := $(CURL_CFLAGS)
|
|
curl.o-libs := $(CURL_LIBS)
|
|
rbd.o-cflags := $(RBD_CFLAGS)
|
|
rbd.o-libs := $(RBD_LIBS)
|
|
gluster.o-cflags := $(GLUSTERFS_CFLAGS)
|
|
gluster.o-libs := $(GLUSTERFS_LIBS)
|
|
vxhs.o-libs := $(VXHS_LIBS)
|
|
ssh.o-cflags := $(LIBSSH2_CFLAGS)
|
|
ssh.o-libs := $(LIBSSH2_LIBS)
|
|
block-obj-$(if $(CONFIG_BZIP2),m,n) += dmg-bz2.o
|
|
dmg-bz2.o-libs := $(BZIP2_LIBS)
|
|
qcow.o-libs := -lz
|
|
linux-aio.o-libs := -laio
|
|
parallels.o-cflags := $(LIBXML2_CFLAGS)
|
|
parallels.o-libs := $(LIBXML2_LIBS)
|