
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 <your_user>/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 <alyson.deivespereira@windriver.com>
129 lines
3.3 KiB
Docker
129 lines
3.3 KiB
Docker
ARG BASE
|
|
FROM ${BASE}
|
|
|
|
# Install stx-tools-dev repo (StarlingX-Debian repo)
|
|
COPY stx-tools-dev.list /etc/apt/sources.list.d/stx-tools-dev.list.disabled
|
|
|
|
#
|
|
# repos:
|
|
# /etc/apt/sources.list.d/
|
|
# debian.list.disabled - vanilla debian repo
|
|
# stx-x.list.disabled - starlingx binary & build repos
|
|
#
|
|
# To enable a repo list:
|
|
# cp /etc/apt/sources.list.d/$repo_list.disabled \
|
|
# /etc/apt/sources.list.d/$repo_list
|
|
#
|
|
# To disable a repo list:
|
|
# rm -f /etc/apt/sources.list.d/$repo_list
|
|
#
|
|
|
|
# Upgrade base packages to versions in managed repos
|
|
RUN set -ex && \
|
|
cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \
|
|
apt-get update -y && \
|
|
apt-get upgrade -y && \
|
|
rm -f /etc/apt/sources.list.d/stx.list && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Enable stx repo only. Packages installs below this point will use
|
|
# only the managed locally-built & 3rd-party repos.
|
|
RUN set -ex && \
|
|
cp /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list
|
|
|
|
# Install dev tools package dependencies
|
|
RUN set -ex && \
|
|
apt-get update -y && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y \
|
|
autoconf-archive \
|
|
autogen \
|
|
automake \
|
|
bash \
|
|
bc \
|
|
bison \
|
|
cmake \
|
|
curl \
|
|
doxygen \
|
|
dwarves \
|
|
fakeroot \
|
|
flex \
|
|
g++ \
|
|
gcc \
|
|
genisoimage \
|
|
gettext \
|
|
isomd5sum \
|
|
kmod \
|
|
libaccel-config1 \
|
|
libcap-dev \
|
|
libelf-dev \
|
|
libncurses-dev \
|
|
libhwloc-dev=1.11.12-3 \
|
|
libjson-c-dev \
|
|
libssl-dev \
|
|
linux-headers-5.10.0-6 \
|
|
linux-perf-5.10 \
|
|
make \
|
|
pciutils \
|
|
python-is-python3 \
|
|
python3-intelhex \
|
|
python3-pip \
|
|
python3-pybind11 \
|
|
python3-yaml \
|
|
rsync \
|
|
sphinx-common \
|
|
sphinx-doc \
|
|
sudo \
|
|
sysvinit-utils \
|
|
uuid-dev \
|
|
vim \
|
|
wget \
|
|
xz-utils \
|
|
&& \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install dev tools
|
|
RUN set -ex && \
|
|
apt-get update -y && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y \
|
|
accel-config \
|
|
accel-config-test \
|
|
acpica-tools \
|
|
dmidecode \
|
|
ethtool \
|
|
git \
|
|
git-review \
|
|
iproute2 \
|
|
linux-cpupower \
|
|
net-tools \
|
|
opae-libs opae-tools opae-tools-extra opae-devel \
|
|
pcm \
|
|
python3-opae.admin python3-opae.pacsign \
|
|
tcpdump \
|
|
trace-cmd \
|
|
tree \
|
|
unzip \
|
|
&& \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Enable StarlingX-Debian repo
|
|
# Packages installs below this point will use DEB packages from the StarlingX-Debian repo.
|
|
RUN set -ex && \
|
|
cp -f /etc/apt/sources.list.d/stx-tools-dev.list.disabled /etc/apt/sources.list.d/stx.list && \
|
|
apt-get update && \
|
|
apt-get clean && \
|
|
rm -rf \
|
|
/var/lib/apt/lists/* \
|
|
/var/log/* \
|
|
/var/tmp/* \
|
|
/tmp/*
|
|
|
|
# Enable upstream Debian repo so users may install other dev tools if needed.
|
|
# Packages installs below this point might differ from those on StarlingX.
|
|
RUN set -ex && \
|
|
cp /etc/apt/sources.list.d/debian.list.disabled /etc/apt/sources.list.d/debian.list
|