From 63f9370f1a07d19daae15f8f034c22b70bc56458 Mon Sep 17 00:00:00 2001 From: Alexander Indenbaum Date: Mon, 16 Dec 2024 11:59:25 +0000 Subject: [PATCH] Set config and enable dsa accel module offload. This feature is considered as experimental. Signed-off-by: Alexander Indenbaum --- .env | 2 +- control/server.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.env b/.env index 968097cd3..64c3f7aab 100644 --- a/.env +++ b/.env @@ -57,7 +57,7 @@ SPDK_URL="https://spdk.io" SPDK_PKGDEP_ARGS="--rbd" # check spdk/configure --help -SPDK_CONFIGURE_ARGS="--with-rbd --disable-tests --disable-unit-tests --disable-examples --enable-debug" +SPDK_CONFIGURE_ARGS="--with-idxd --with-rbd --disable-tests --disable-unit-tests --disable-examples --enable-debug" SPDK_TARGET_ARCH="x86-64-v2" SPDK_MAKEFLAGS= SPDK_CENTOS_BASE="https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/" diff --git a/control/server.py b/control/server.py index 51bfa69c7..33f493d3e 100644 --- a/control/server.py +++ b/control/server.py @@ -23,6 +23,7 @@ import spdk.rpc import spdk.rpc.client as rpc_client import spdk.rpc.nvmf as rpc_nvmf +import spdk.rpc.dsa as rpc_dsa from .proto import gateway_pb2 as pb2 from .proto import gateway_pb2_grpc as pb2_grpc @@ -568,6 +569,9 @@ def _start_spdk(self, omap_state): for trtype in spdk_transports.split(): self._create_transport(trtype.lower()) + # Set config and enable dsa accel module offload. + self._probe_dsa() + try: return_version = spdk.rpc.spdk_get_version(self.spdk_rpc_client) try: @@ -653,6 +657,15 @@ def _stop_discovery(self): self.discovery_pid = None + def _probe_dsa(self): + """Initializes dsa accel module offload.""" + try: + res = rpc_dsa.dsa_scan_accel_module(self.spdk_rpc_client) + except Exception: + self.logger.exception(f"Failed to probe dsa accel module offload: {res=}") + raise + self.logger.debug(f"dsa_scan_accel_module: {res=}") + def _create_transport(self, trtype): """Initializes a transport type.""" args = {'trtype': trtype}