This updates the xNVMe submodule to v0.5.0 and adjusts the Makefile, disabling a backend (libvfn) introduced in v0.5.0 which is not of interest. With xNVMe v0.5.0 two things important for the bdev_xnvme has changed: * The 'libaio' backend implementation responds to 'opts.poll_io'. It does so by 'xnvme_queue_poke()' returning immediatly instead of waiting for at least one outstanding IO to complete or for a timeout to occur. This dramatically improves the IO-rate and reduces latency. * Prior to xNVMe v0.5.0, the liburing library was vendored and "bundled" into the xNVMe library. This library-bundling can cause linker issue and is thus replaced by linking "properly" with liburing on the system via pkg-config discovery. To make sure linker can properly link libxnvme.a's content we need to make sure we point at system's -luring during the build. Effectively, this can now work together with --with-uring[=/uring]. This change is made in preparation to adding the 'conserve_cpu' option which makes use of 'opts.poll_io' for 'io_mechanism=libaio'. Signed-off-by: Simon A. F. Lund <simon.lund@samsung.com> Signed-off-by: Michal Berger <michal.berger@intel.com> Change-Id: Ibd6e620679a3991a4a8642bb39390a61284aac74 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14677 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
29 lines
628 B
Makefile
29 lines
628 B
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (c) Samsung Electronics Co., Ltd.
|
|
# All rights reserved.
|
|
#
|
|
|
|
SPDK_ROOT_DIR := $(abspath $(CURDIR)/..)
|
|
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
|
|
|
|
.PHONY: all clean install uninstall
|
|
|
|
all:
|
|
(cd $(SPDK_ROOT_DIR)/xnvme && \
|
|
export PKG_CONFIG_PATH=$$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/usr/lib64/pkgconfig && \
|
|
meson setup builddir \
|
|
-Dwith-spdk=false \
|
|
-Dwith-fio=false \
|
|
-Dwith-libvfn=false \
|
|
-Dshared_library=false && \
|
|
meson compile -C builddir && \
|
|
cd -)
|
|
|
|
install: all
|
|
|
|
uninstall:
|
|
@:
|
|
|
|
clean:
|
|
(cd $(SPDK_ROOT_DIR)/xnvme && rm -fr builddir || true && cd -)
|