This patch adds support for --max-lcores configuration option to ./configure script. This option can be used to change value of DPDK's RTE_MAX_LCORE (which is by default set to 128 for x86 architecture). If specified, DPDK will be configured to use the value provided by the user instead of the default one. The option can be useful in systems where number of physical CPUs is larger than 128. When RTE_MAX_LCORE is increased, it is possible to specify cores with identifiers larger than 128 in the SPDK's CPU mask. If the option is not specifed, DPDK will use default value of RTE_MAX_LCORE. --max-lcores range is [1..1024] Example usage: ./configure --max-lcores=256 ./configure --max-lcores=16 Change-Id: I47d321ba394c9acf27eaa91619aeaad28db6de34 Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17453 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot
223 lines
4.8 KiB
Plaintext
223 lines
4.8 KiB
Plaintext
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (C) 2015 Intel Corporation.
|
|
# All rights reserved.
|
|
# Copyright (c) 2021, 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# Copyright (c) 2022 Dell Inc, or its subsidiaries.
|
|
#
|
|
|
|
# configure options: __CONFIGURE_OPTIONS__
|
|
|
|
# Installation prefix
|
|
CONFIG_PREFIX="/usr/local"
|
|
|
|
# Target architecture
|
|
CONFIG_ARCH=native
|
|
|
|
# Destination directory for the libraries
|
|
CONFIG_LIBDIR=
|
|
|
|
# Prefix for cross compilation
|
|
CONFIG_CROSS_PREFIX=
|
|
|
|
# Build with debug logging. Turn off for performance testing and normal usage
|
|
CONFIG_DEBUG=n
|
|
|
|
# Treat warnings as errors (fail the build on any warning).
|
|
CONFIG_WERROR=n
|
|
|
|
# Build with link-time optimization.
|
|
CONFIG_LTO=n
|
|
|
|
# Generate profile guided optimization data.
|
|
CONFIG_PGO_CAPTURE=n
|
|
|
|
# Use profile guided optimization data.
|
|
CONFIG_PGO_USE=n
|
|
|
|
# Build with code coverage instrumentation.
|
|
CONFIG_COVERAGE=n
|
|
|
|
# Build with Address Sanitizer enabled
|
|
CONFIG_ASAN=n
|
|
|
|
# Build with Undefined Behavior Sanitizer enabled
|
|
CONFIG_UBSAN=n
|
|
|
|
# Build with LLVM fuzzing enabled
|
|
CONFIG_FUZZER=n
|
|
CONFIG_FUZZER_LIB=
|
|
|
|
# Build with Thread Sanitizer enabled
|
|
CONFIG_TSAN=n
|
|
|
|
# Build functional tests
|
|
CONFIG_TESTS=y
|
|
|
|
# Build unit tests
|
|
CONFIG_UNIT_TESTS=y
|
|
|
|
# Build examples
|
|
CONFIG_EXAMPLES=y
|
|
|
|
# Build apps
|
|
CONFIG_APPS=y
|
|
|
|
# Build with Control-flow Enforcement Technology (CET)
|
|
CONFIG_CET=n
|
|
|
|
# Directory that contains the desired SPDK environment library.
|
|
# By default, this is implemented using DPDK.
|
|
CONFIG_ENV=
|
|
|
|
# This directory should contain 'include' and 'lib' directories for your DPDK
|
|
# installation.
|
|
CONFIG_DPDK_DIR=
|
|
# Automatically set via pkg-config when bare --with-dpdk is set
|
|
CONFIG_DPDK_LIB_DIR=
|
|
CONFIG_DPDK_INC_DIR=
|
|
CONFIG_DPDK_PKG_CONFIG=n
|
|
|
|
# This directory should contain 'include' and 'lib' directories for WPDK.
|
|
CONFIG_WPDK_DIR=
|
|
|
|
# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid
|
|
# fio source code directory.
|
|
CONFIG_FIO_PLUGIN=n
|
|
|
|
# This directory should contain the source code directory for fio
|
|
# which is required for building the SPDK FIO plugin.
|
|
CONFIG_FIO_SOURCE_DIR=/usr/src/fio
|
|
|
|
# Enable RDMA support for the NVMf target.
|
|
# Requires ibverbs development libraries.
|
|
CONFIG_RDMA=n
|
|
CONFIG_RDMA_SEND_WITH_INVAL=n
|
|
CONFIG_RDMA_SET_ACK_TIMEOUT=n
|
|
CONFIG_RDMA_SET_TOS=n
|
|
CONFIG_RDMA_PROV=verbs
|
|
|
|
# Enable NVMe Character Devices.
|
|
CONFIG_NVME_CUSE=n
|
|
|
|
# Enable FC support for the NVMf target.
|
|
# Requires FC low level driver (from FC vendor)
|
|
CONFIG_FC=n
|
|
CONFIG_FC_PATH=
|
|
|
|
# Build Ceph RBD support in bdev modules
|
|
# Requires librbd development libraries
|
|
CONFIG_RBD=n
|
|
|
|
# Build DAOS support in bdev modules
|
|
# Requires daos development libraries
|
|
CONFIG_DAOS=n
|
|
CONFIG_DAOS_DIR=
|
|
|
|
# Build UBLK support
|
|
CONFIG_UBLK=n
|
|
|
|
# Build vhost library.
|
|
CONFIG_VHOST=y
|
|
|
|
# Build vhost initiator (Virtio) driver.
|
|
CONFIG_VIRTIO=y
|
|
|
|
# Build custom vfio-user transport for NVMf target and NVMe initiator.
|
|
CONFIG_VFIO_USER=n
|
|
CONFIG_VFIO_USER_DIR=
|
|
|
|
# Build with xNVMe
|
|
CONFIG_XNVME=n
|
|
|
|
# Enable the dependencies for building the DPDK accel compress module
|
|
CONFIG_DPDK_COMPRESSDEV=n
|
|
|
|
# Enable the dependencies for building the compress vbdev, includes the reduce library
|
|
CONFIG_VBDEV_COMPRESS=n
|
|
|
|
# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists
|
|
CONFIG_VBDEV_COMPRESS_MLX5=n
|
|
|
|
# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists
|
|
CONFIG_CRYPTO_MLX5=n
|
|
|
|
# Requires libiscsi development libraries.
|
|
CONFIG_ISCSI_INITIATOR=n
|
|
|
|
# Enable the dependencies for building the crypto vbdev
|
|
CONFIG_CRYPTO=n
|
|
|
|
# Build spdk shared libraries in addition to the static ones.
|
|
CONFIG_SHARED=n
|
|
|
|
# Build with VTune support.
|
|
CONFIG_VTUNE=n
|
|
CONFIG_VTUNE_DIR=
|
|
|
|
# Build Intel IPSEC_MB library
|
|
CONFIG_IPSEC_MB=n
|
|
|
|
# Enable OCF module
|
|
CONFIG_OCF=n
|
|
CONFIG_OCF_PATH=
|
|
CONFIG_CUSTOMOCF=n
|
|
|
|
# Build ISA-L library
|
|
CONFIG_ISAL=y
|
|
|
|
# Build ISA-L-crypto library
|
|
CONFIG_ISAL_CRYPTO=y
|
|
|
|
# Build with IO_URING support
|
|
CONFIG_URING=n
|
|
|
|
# Build IO_URING bdev with ZNS support
|
|
CONFIG_URING_ZNS=n
|
|
|
|
# Path to custom built IO_URING library
|
|
CONFIG_URING_PATH=
|
|
|
|
# Path to custom built OPENSSL library
|
|
CONFIG_OPENSSL_PATH=
|
|
|
|
# Build with FUSE support
|
|
CONFIG_FUSE=n
|
|
|
|
# Build with RAID5f support
|
|
CONFIG_RAID5F=n
|
|
|
|
# Build with IDXD support
|
|
# In this mode, SPDK fully controls the DSA device.
|
|
CONFIG_IDXD=n
|
|
|
|
# Build with USDT support
|
|
CONFIG_USDT=n
|
|
|
|
# Build with IDXD kernel support.
|
|
# In this mode, SPDK shares the DSA device with the kernel.
|
|
CONFIG_IDXD_KERNEL=n
|
|
|
|
# arc4random is available in stdlib.h
|
|
CONFIG_HAVE_ARC4RANDOM=n
|
|
|
|
# uuid_generate_sha1 is available in uuid/uuid.h
|
|
CONFIG_HAVE_UUID_GENERATE_SHA1=n
|
|
|
|
# Is DPDK using libbsd?
|
|
CONFIG_HAVE_LIBBSD=n
|
|
|
|
# Is DPDK using libarchive?
|
|
CONFIG_HAVE_LIBARCHIVE=n
|
|
|
|
# Path to IPSEC_MB used by DPDK
|
|
CONFIG_IPSEC_MB_DIR=
|
|
|
|
# Generate Storage Management Agent's protobuf interface
|
|
CONFIG_SMA=n
|
|
|
|
# Build with Avahi support
|
|
CONFIG_AVAHI=n
|
|
|
|
# Setup DPDK's RTE_MAX_LCORES
|
|
CONFIG_MAX_LCORES=
|