configure: remove --with-igb-uio-driver option

DPDK 20.11 moved the kernel modules to separate
dpdk-kmod repository. It has to be built separate
from DPDK.

If needed for testing vm_setup.sh script now contains option
to build this driver.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I98a5eb956eb0cc60ec402d88fcdbd66d4854f19a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6033
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Michal Berger <michalx.berger@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Tomasz Zawadzki 2021-01-21 09:36:10 -05:00
parent 1963b478f7
commit aa22321aca
9 changed files with 10 additions and 28 deletions

View File

@ -38,6 +38,10 @@ parameter in `spdk_blob_open_opts_init` function.
Updated DPDK submodule to DPDK 20.11.
Removed `--with-igb-uio-driver` configure option. Since DPDK 20.11 igb_uio driver
was moved to separate dpdk-kmods repository. If required, users need to refer to
dpdk-kmods repository to build the driver.
### nvme
Directives support was added to the NVMe driver.

3
CONFIG
View File

@ -143,9 +143,6 @@ CONFIG_SHARED=n
CONFIG_VTUNE=n
CONFIG_VTUNE_DIR=
# Build the dpdk igb_uio driver
CONFIG_IGB_UIO_DRIVER=n
# Build Intel IPSEC_MB library
CONFIG_IPSEC_MB=n

View File

@ -160,7 +160,7 @@ if [[ $SPDK_TEST_CRYPTO -eq 1 || $SPDK_TEST_REDUCE -eq 1 ]]; then
# up under that node too and memory needs to be available there for the tests.
CLEAR_HUGE=yes HUGE_EVEN_ALLOC=yes ./scripts/setup.sh
./scripts/setup.sh status
if grep -q '#define SPDK_CONFIG_IGB_UIO_DRIVER 1' $rootdir/include/spdk/config.h; then
if [[ $SPDK_TEST_USE_IGB_UIO -eq 1 ]]; then
./scripts/qat_setup.sh igb_uio
else
./scripts/qat_setup.sh

10
configure vendored
View File

@ -49,10 +49,6 @@ function usage()
echo " example: /usr/share/dpdk/x86_64-default-linuxapp-gcc"
echo " env Use an alternate environment implementation instead of DPDK."
echo " Implies --without-dpdk."
echo " igb-uio-driver Build DPDK's igb-uio driver."
echo " Required on some systems to use qat devices. This flag is"
echo " effective only with the default dpdk submodule."
echo " No path required"
echo " idxd Build the IDXD library and accel framework plug-in module."
echo " Disabled while experimental. Only built for x86 when enabled."
echo " crypto Build vbdev crypto module."
@ -387,12 +383,6 @@ for i in "$@"; do
CONFIG[VTUNE_DIR]=
CONFIG[VTUNE]=n
;;
--with-igb-uio-driver)
CONFIG[IGB_UIO_DRIVER]=y
;;
--without-igb-uio-driver)
CONFIG[IGB_UIO_DRIVER]=n
;;
--with-ocf)
CONFIG[OCF]=y
CONFIG[OCF_PATH]=$(readlink -f "./ocf")

View File

@ -18,10 +18,8 @@ x86_64 system, or add `iommu.passthrough=1` on arm64 systems.
There are also some instances where a user may not want to use `uio_pci_generic` or the kernel
version they are using has a bug where `uio_pci_generic` [fails to bind to NVMe drives](https://github.com/spdk/spdk/issues/399).
In these cases, users building with the DPDK submodule can build the `igb_uio` kernel module by
supplying `--with-igb-uio-driver` to `./configure`. Upon a successful make, the file will be
located at `dpdk/build/build/kmod/igb_uio.ko`. To ensure that the driver is properly bound, users
should specify `DRIVER_OVERRIDE=/path/to/igb_uio.ko`.
In these cases, users can build the `igb_uio` kernel module which can be found in dpdk-kmods repository.
To ensure that the driver is properly bound, users should specify `DRIVER_OVERRIDE=/path/to/igb_uio.ko`.
# Running SPDK as non-priviledged user {#system_configuration_nonroot}

View File

@ -40,9 +40,6 @@ DPDK_OPTS = -Denable_docs=false
DPDK_CFLAGS =
DPDK_KMODS = false
ifeq ($(CONFIG_IGB_UIO_DRIVER),y)
DPDK_KMODS = true
endif
ifeq ($(OS),FreeBSD)
DPDK_KMODS = true
endif

View File

@ -144,7 +144,7 @@ for vf in "${qat_vf_bdfs[@]}"; do
echo "Your kernel's uio_pci_generic module does not support binding to virtual functions."
echo "It likely is missing Linux git commit ID acec09e67 which is needed to bind"
echo "uio_pci_generic to virtual functions which have no legacy interrupt vector."
echo "Please rebuild spdk with --with-igb-uio-driver and re-run this script specifying the igb_uio driver."
echo "Please build DPDK kernel module for igb_uio and re-run this script specifying the igb_uio driver."
fi
exit 1
fi

View File

@ -320,8 +320,7 @@ function configure_linux_pci() {
driver_name="igb_uio"
echo "WARNING: uio_pci_generic not detected - using $driver_name"
else
echo "No valid drivers found [vfio-pci, uio_pci_generic, igb_uio]. Please either enable the vfio-pci or uio_pci_generic"
echo "kernel modules, or have SPDK build the igb_uio driver by running ./configure --with-igb-uio-driver and recompiling."
echo "No valid drivers found [vfio-pci, uio_pci_generic, igb_uio]. Please enable one of the kernel modules."
return 1
fi

View File

@ -429,9 +429,6 @@ function get_config_params() {
config_params+=" --with-dpdk=$SPDK_RUN_EXTERNAL_DPDK"
fi
if [[ $SPDK_TEST_USE_IGB_UIO -eq 1 ]]; then
config_params+=" --with-igb-uio-driver"
fi
echo "$config_params"
xtrace_restore
}
@ -1174,7 +1171,7 @@ function autotest_cleanup() {
$rootdir/scripts/setup.sh reset
$rootdir/scripts/setup.sh cleanup
if [ $(uname -s) = "Linux" ]; then
if grep -q '#define SPDK_CONFIG_IGB_UIO_DRIVER 1' $rootdir/include/spdk/config.h; then
if [[ $SPDK_TEST_USE_IGB_UIO -eq 1 ]]; then
[[ -e /sys/module/igb_uio ]] && rmmod igb_uio
else
modprobe -r uio_pci_generic