From 1a1aad921b939a8b60159008ed971895c4de3687 Mon Sep 17 00:00:00 2001 From: Alyson Deives Pereira Date: Thu, 14 Mar 2024 15:13:51 -0300 Subject: [PATCH] Add accel-config to stx-debian-tools-dev docker image accel-config is a utility library for controlling and configuring Intel DSA (Data Streaming Accelerator Architecture) sub-system in the Linux kernel. accel-config-test utility has test cases that exercise the DSA subsysem. It uses libaccel-config API to configure workqueues and issues ENQCMD and MOVDIR64 instructions to move memory. Intel DSA is a high-performance data copy and transformation accelerator integrated into processors starting with 4th Generation Intel Xeon processors. It is targeted for optimizing streaming data movement and transformation operations common with applications for high-performance storage, networking, persistent memory, and various data processing applications. Test Plan: PASS: Build accel-config package. PASS: Build local stx-debian base image (from cgcs-root/build-tools/build-docker-images directory): ./build-stx-base.sh --local PASS: Build stx-debian-tools-dev using the previous built image as base: ./build-stx-images.sh --base /stx-debian:11.2 --no-pull-base --only stx-debian-tools-dev PASS: Run stx-debian-tools-dev container and confirm that accel-config utility is present and is executable with: accel-config list NOTE: Executing on stx kernel 5.10 returns that idxd module can not be loaded. Running with stx kernel 6.6 gives the right output. PASS: Replace accel-config-demo pod image from [1] to the recently built stx-debian-tools-dev image. Create the pod and verify its logs: kubectl logs dsa-accel-config-demo | tail NOTE: You need stx intel-device-plugins app with intel-device-plugins-dsa chart enabled [2] [1] https://github.com/intel/intel-device-plugins-for-kubernetes/blob /release-0.29/demo/dsa-accel-config-demo-pod.yaml [2] https://opendev.org/starlingx/app-intel-device-plugins Story: 2011040 Task: 49717 Change-Id: I87012212c210b0f63d6346faf1dcbd42b80efce6 Signed-off-by: Alyson Deives Pereira --- debian_pkg_dirs | 1 + tools/accel-config/debian/meta_data.yaml | 11 +++++++++++ .../stx-debian-tools-dev/debian/docker/Dockerfile | 3 +++ 3 files changed, 15 insertions(+) create mode 100644 tools/accel-config/debian/meta_data.yaml diff --git a/debian_pkg_dirs b/debian_pkg_dirs index a8f48c38..ca7c62e3 100644 --- a/debian_pkg_dirs +++ b/debian_pkg_dirs @@ -2,6 +2,7 @@ ceph/ceph-manager ceph/python-cephclient tools/collector tools/engtools/hostdata-collectors +tools/accel-config tools/opae/opae-sdk tools/opae/python3-opae.admin tools/opae/python3-opae.pacsign diff --git a/tools/accel-config/debian/meta_data.yaml b/tools/accel-config/debian/meta_data.yaml new file mode 100644 index 00000000..68449694 --- /dev/null +++ b/tools/accel-config/debian/meta_data.yaml @@ -0,0 +1,11 @@ +--- +debname: accel-config +debver: 4.1.6-0 +dl_path: + name: idxd-config-accel-config-v4.1.6.tar.gz + url: https://github.com/intel/idxd-config/archive/refs/tags/accel-config-v4.1.6.tar.gz + md5sum: d9e6678504b617b2e374c8c25461f0b2 + sha256sum: 6c66c7f05ac0a622fb98a55519340d83238e2c0155c1cb2aa5ea0ed278275c6e +revision: + dist: $STX_DIST + PKG_GITREVCOUNT: true \ No newline at end of file diff --git a/tools/vran-tools/stx-debian-tools-dev/debian/docker/Dockerfile b/tools/vran-tools/stx-debian-tools-dev/debian/docker/Dockerfile index 8e1949ca..7eeb439d 100644 --- a/tools/vran-tools/stx-debian-tools-dev/debian/docker/Dockerfile +++ b/tools/vran-tools/stx-debian-tools-dev/debian/docker/Dockerfile @@ -55,6 +55,7 @@ RUN set -ex && \ gettext \ isomd5sum \ kmod \ + libaccel-config1 \ libcap-dev \ libelf-dev \ libncurses-dev \ @@ -88,6 +89,8 @@ RUN set -ex && \ apt-get update -y && \ apt-get upgrade -y && \ apt-get install -y \ + accel-config \ + accel-config-test \ acpica-tools \ dmidecode \ ethtool \