Merge pull request #1618 from mythi/PR-2023-060

demo: update idxd-config to v4.1.4
This commit is contained in:
Tuomas Katila 2023-12-14 10:17:21 +02:00 committed by GitHub
commit 36b5bf562e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 410 deletions

View File

@ -12,57 +12,33 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu:22.04 AS builder
FROM debian:unstable-slim AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc g++ nasm make cmake patch autoconf automake libtool pkg-config git curl ca-certificates \
libjson-c-dev uuid-dev zlib1g-dev libssl-dev
ARG ACCEL_CONFIG_VERSION="4.1.4-1"
ARG ACCEL_CONFIG_VERSION="4.1"
ARG ACCEL_CONFIG_DOWNLOAD_URL="https://github.com/intel/idxd-config/archive/accel-config-v$ACCEL_CONFIG_VERSION.tar.gz"
ARG ACCEL_CONFIG_SHA256="26bed5f5fdef226ae90aebf296f1fa355c7a134aa321a468fbc5be894ff0b91b"
RUN apt-get update && apt-get install -y --no-install-recommends libaccel-config-dev=${ACCEL_CONFIG_VERSION} \
gcc g++ nasm make cmake autoconf automake libtool pkg-config git ca-certificates uuid-dev
RUN curl -fsSL "$ACCEL_CONFIG_DOWNLOAD_URL" -o accel-config.tar.gz && echo "$ACCEL_CONFIG_SHA256 accel-config.tar.gz" | sha256sum -c - && tar -xzf accel-config.tar.gz
COPY idxd-reset.patch /
COPY test_runner_disable_shared_queues.patch /
RUN cd idxd-config-accel-config-v$ACCEL_CONFIG_VERSION && \
patch -p1 < ../idxd-reset.patch && \
patch -p1 < ../test_runner_disable_shared_queues.patch && \
./git-version-gen && \
autoreconf -i && \
./configure -q --libdir=/usr/lib64 --enable-test=yes --disable-docs && \
make install
RUN cd / && git clone --recurse-submodules --branch v1.1.0 --depth 1 https://github.com/intel/DML.git && \
RUN cd / && git clone --recurse-submodules --branch v1.1.1 --depth 1 https://github.com/intel/DML.git && \
mkdir DML/build && cd DML/build && \
cmake .. && \
make install && \
mv -v /usr/local/bin/tests /usr/local/bin/dml_tests && \
mv -v /usr/local/bin/tests_mt /usr/local/bin/dml_tests_mt
RUN cd / && git clone --recursive --depth 1 --branch v1.3.0 https://github.com/intel/qpl.git && \
RUN cd / && git clone --recursive --depth 1 --branch v1.3.1 https://github.com/intel/qpl.git && \
mkdir qpl/build && cd qpl/build && \
cmake -DLOG_HW_INIT=ON .. && \
make install
FROM ubuntu:22.04
FROM debian:unstable-slim
RUN apt-get update && apt-get install -y --no-install-recommends libjson-c5 libssl3 && rm -rf /var/lib/apt/lists/\*
COPY --from=builder /usr/lib64/libaccel-config.so.1.0.0 "/lib/x86_64-linux-gnu/"
RUN ldconfig
COPY --from=builder /usr/bin/accel-config /usr/bin/
COPY --from=builder /usr/libexec/accel-config/test /test
COPY --from=builder /idxd-reset.patch /usr/local/share/package-sources/
COPY --from=builder /test_runner_disable_shared_queues.patch /usr/local/share/package-sources/
ARG ACCEL_CONFIG_VERSION="4.1.4-1"
RUN apt-get update && apt-get install -y --no-install-recommends pciutils accel-config=${ACCEL_CONFIG_VERSION} accel-config-test=${ACCEL_CONFIG_VERSION} && rm -rf /var/lib/apt/lists/\*
RUN sed -i -e '442,450d;502,515d' /usr/libexec/accel-config/test/iaa_user_test_runner.sh
COPY --from=builder /usr/local /usr/local
COPY --from=builder /qpl/build/examples /usr/local/bin/
COPY dml-test.sh /usr/local/bin/
COPY qpl-test.sh /usr/local/bin/
ENTRYPOINT cd /test && /bin/bash -e ./dsa_user_test_runner.sh

View File

@ -1,26 +0,0 @@
From 07e1137a71021dc02df98b942a260b70ff852ca5 Mon Sep 17 00:00:00 2001
From: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
Date: Tue, 3 May 2022 15:28:05 +0300
Subject: [PATCH] idxd: Ignore reset device error
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
---
accfg/lib/libaccfg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c
index be3be69..32eb71f 100644
--- a/accfg/lib/libaccfg.c
+++ b/accfg/lib/libaccfg.c
@@ -636,7 +636,7 @@ static void *add_device(void *parent, int id, const char *ctl_base,
rc = accfg_set_param(ctx, dfd, "cmd_status", "1", 1);
/* older drivers don't support writing to cmd_status */
- if (rc && rc != -EACCES) {
+ if (rc && rc != -EACCES && rc != -EROFS) {
err(ctx, "Failed resetting cmd status %d\n", rc);
close(dfd);
goto err_device;
--
2.36.1

View File

@ -1,349 +0,0 @@
diff --git a/test/dsa_user_test_runner.sh b/test/dsa_user_test_runner.sh
index 6c9f771..4504d9c 100755
--- a/test/dsa_user_test_runner.sh
+++ b/test/dsa_user_test_runner.sh
@@ -6,7 +6,8 @@
rc="$EXIT_SKIP"
-DSA=dsa0
+DEV=`ls /dev/dsa/ | sed -ne 's|wq\([^.]\+\)\(.*\)|dsa\1/wq\1\2|p'`
+DSA=`echo $DEV | cut -f1 -d/`
WQ0=wq0.0
WQ1=wq0.1
@@ -70,7 +71,7 @@ test_op()
for xfer_size in $SIZE_1 $SIZE_4K $SIZE_64K $SIZE_1M $SIZE_2M; do
echo "Testing $xfer_size bytes"
"$DSATEST" -w "$wq_mode_code" -l "$xfer_size" -o "$opcode" \
- -f "$flag" t200 -v
+ -f "$flag" t200 -d "$DEV"
done
done
}
@@ -99,7 +100,7 @@ test_op_batch()
for xfer_size in $SIZE_1 $SIZE_4K $SIZE_64K $SIZE_1M $SIZE_2M; do
echo "Testing $xfer_size bytes"
"$DSATEST" -w "$wq_mode_code" -l "$xfer_size" -o 0x1 -b "$opcode" \
- -c 16 -f "$flag" t2000 -v
+ -c 16 -f "$flag" t2000 -d "$DEV"
done
done
}
@@ -124,7 +125,7 @@ test_dif_op()
for xfer_size in $SIZE_512 $SIZE_1K $SIZE_4K; do
echo "Testing $xfer_size bytes"
"$DSATEST" -w "$wq_mode_code" -l "$xfer_size" -o "$opcode" \
- -f "$flag" t200 -v
+ -f "$flag" t200 -d "$DEV"
done
done
}
@@ -149,13 +150,10 @@ test_dif_op_batch()
for xfer_size in $SIZE_512 $SIZE_1K $SIZE_4K; do
echo "Testing $xfer_size bytes"
"$DSATEST" -w "$wq_mode_code" -l "$xfer_size" -o 0x1 -b "$opcode" \
- -c 16 -f "$flag" t2000 -v
+ -c 16 -f "$flag" t2000 -d "$DEV"
done
done
}
-_cleanup
-start_dsa
-enable_wqs
# shellcheck disable=SC2034
rc="$EXIT_FAILURE"
@@ -188,7 +186,3 @@ for opcode in "0x12" "0x13" "0x14" "0x15"; do
test_dif_op_batch $opcode $flag
done
-disable_wqs
-stop_dsa
-_cleanup
-exit 0
diff --git a/test/iaa_user_test_runner.sh b/test/iaa_user_test_runner.sh
index c8f2686..9156a94 100755
--- a/test/iaa_user_test_runner.sh
+++ b/test/iaa_user_test_runner.sh
@@ -6,7 +6,8 @@
rc="$EXIT_SKIP"
-IAA=iax1
+DEV=`ls /dev/iax/ | sed -ne 's|wq\([^.]\+\)\(.*\)|iax\1/wq\1\2|p'`
+IAA=`echo $DEV | cut -f1 -d/`
WQ0=wq1.4
WQ1=wq1.1
DBDF=`ls -l /sys/bus/dsa/devices/iax3 | awk -F '/' '{print $(NF - 1)}'`
@@ -104,10 +105,10 @@ test_op()
if [ "$extra_flag" != "" ]
then
"$IAATEST" -w "$wq_mode_code" -l "$xfer_size" -o "$opcode" \
- -f "$flag" -1 "$extra_flag" -t 5000 -v
+ -f "$flag" -1 "$extra_flag" -t 5000 -d "$DEV"
else
"$IAATEST" -w "$wq_mode_code" -l "$xfer_size" -o "$opcode" \
- -f "$flag" -t 5000 -v
+ -f "$flag" -t 5000 -d "$DEV"
fi
done
done
@@ -123,121 +124,121 @@ test_op_filter()
wq_mode_name=$(wq_mode2name "$wq_mode_code")
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x7c -3 128 \
- -o 0x50 -t 5000 -v
+ -o 0x50 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x7c -3 256 \
- -o 0x50 -t 5000 -v
+ -o 0x50 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x7c -3 1024 \
- -o 0x50 -t 5000 -v
+ -o 0x50 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x7c -3 16384 \
- -o 0x50 -t 5000 -v
+ -o 0x50 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1048576 -2 0x7c -3 262144 \
- -o 0x50 -t 5000 -v
+ -o 0x50 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2097152 -2 0x7c -3 524288 \
- -o 0x50 -t 5000 -v
+ -o 0x50 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x38 -3 256 \
- -o 0x51 -t 5000 -v
+ -o 0x51 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x38 -3 512 \
- -o 0x51 -t 5000 -v
+ -o 0x51 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x38 -3 2048 \
- -o 0x51 -t 5000 -v
+ -o 0x51 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x38 -3 32768 \
- -o 0x51 -t 5000 -v
+ -o 0x51 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1048576 -2 0x38 -3 524288 \
- -o 0x51 -t 5000 -v
+ -o 0x51 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2097152 -2 0x38 -3 1048576 \
- -o 0x51 -t 5000 -v
+ -o 0x51 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x7c -3 128 \
- -o 0x52 -t 5000 -v
+ -o 0x52 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x7c -3 256 \
- -o 0x52 -t 5000 -v
+ -o 0x52 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x7c -3 1024 \
- -o 0x52 -t 5000 -v
+ -o 0x52 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x7c -3 16384 \
- -o 0x52 -t 5000 -v
+ -o 0x52 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1048576 -2 0x7c -3 262144 \
- -o 0x52 -t 5000 -v
+ -o 0x52 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2097152 -2 0x7c -3 524288 \
- -o 0x52 -t 5000 -v
+ -o 0x52 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x7c -3 128 \
- -o 0x53 -t 5000 -v
+ -o 0x53 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x7c -3 256 \
- -o 0x53 -t 5000 -v
+ -o 0x53 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x7c -3 1024 \
- -o 0x53 -t 5000 -v
+ -o 0x53 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x7c -3 16384 \
- -o 0x53 -t 5000 -v
+ -o 0x53 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1048576 -2 0x7c -3 262144 \
- -o 0x53 -t 5000 -v
+ -o 0x53 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2097152 -2 0x7c -3 524288 \
- -o 0x53 -t 5000 -v
+ -o 0x53 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x1c -3 512 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x1c -3 1024 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x1c -3 4096 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 32768 -2 0x1c -3 32768 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x1c -3 65536 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 131072 -2 0x1c -3 131072 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 32 -2 0x3c -3 16 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 64 -2 0x3c -3 32 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 128 -2 0x3c -3 64 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 256 -2 0x3c -3 128 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x3c -3 256 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x3c -3 512 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 64 -2 0x7c -3 16 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 128 -2 0x7c -3 32 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 256 -2 0x7c -3 64 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x7c -3 128 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x7c -3 256 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2048 -2 0x7c -3 512 \
- -o 0x54 -t 5000 -v
+ -o 0x54 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x38 -3 256 \
- -o 0x55 -t 5000 -v
+ -o 0x55 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x38 -3 512 \
- -o 0x55 -t 5000 -v
+ -o 0x55 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x38 -3 2048 \
- -o 0x55 -t 5000 -v
+ -o 0x55 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x38 -3 32768 \
- -o 0x55 -t 5000 -v
+ -o 0x55 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1048576 -2 0x38 -3 524288 \
- -o 0x55 -t 5000 -v
+ -o 0x55 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2097152 -2 0x38 -3 1048576 \
- -o 0x55 -t 5000 -v
+ -o 0x55 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 512 -2 0x7c -3 128 \
- -o 0x56 -t 5000 -v
+ -o 0x56 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1024 -2 0x7c -3 256 \
- -o 0x56 -t 5000 -v
+ -o 0x56 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 4096 -2 0x7c -3 1024 \
- -o 0x56 -t 5000 -v
+ -o 0x56 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 65536 -2 0x7c -3 16384 \
- -o 0x56 -t 5000 -v
+ -o 0x56 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 1048576 -2 0x7c -3 262144 \
- -o 0x56 -t 5000 -v
+ -o 0x56 -t 5000 -d "$DEV"
./iaa_test -w "$wq_mode_code" -f "$flag" -l 2097152 -2 0x7c -3 524288 \
- -o 0x56 -t 5000 -v
+ -o 0x56 -t 5000 -d "$DEV"
done
}
@@ -286,9 +287,6 @@ test_op_transl_fetch()
done
}
-_cleanup
-start_iaa
-enable_wqs
# shellcheck disable=SC2034
rc="$EXIT_FAILURE"
@@ -322,69 +320,12 @@ unset SIZE_1
flag="0x1"
echo "Testing with 'block on fault' flag ON"
-for opcode in "0x4d" "0x49" "0x4c" "0x48" "0x43" "0x42"; do
+for opcode in "0x4d" "0x49" "0x4c" "0x48" "0x43"; do
test_op $opcode $flag
done
flag="0x0"
echo "Testing with 'block on fault' flag OFF"
-for opcode in "0x4d" "0x49" "0x4c" "0x48" "0x43" "0x42"; do
+for opcode in "0x4d" "0x49" "0x4c" "0x48" "0x43"; do
test_op $opcode $flag
done
-
-if [ "$IDXD_VERSION" != "0x100" ]; then
- flag="0x1"
- echo "Testing with 'block on fault' flag ON"
- for opcode in "0x4e" "0x4a"; do
- test_op $opcode $flag
- done
-
- flag="0x0"
- echo "Testing with 'block on fault' flag OFF"
- for opcode in "0x4e" "0x4a"; do
- test_op $opcode $flag
- done
-fi
-
-flag="0x1"
-test_op_filter $flag
-
-flag="0x0"
-test_op_filter $flag
-
-if [ "$IDXD_VERSION" != "0x100" ]; then
- flag="0x1"
- aecs_flag="0x0101"
- echo "Testing with 'block on fault' flag ON"
- for opcode in "0x41" "0x40"; do
- test_op_crypto $opcode $flag $aecs_flag
- done
-
- flag="0x0"
- aecs_flag="0x0301"
- echo "Testing with 'block on fault' flag OFF"
- for opcode in "0x41" "0x40"; do
- test_op_crypto $opcode $flag $aecs_flag
- done
-
- bind_vfio
-
- flag="0x1"
- echo "Testing with 'block on fault' flag ON"
- for opcode in "0x0a"; do
- test_op_transl_fetch $opcode $flag
- done
-
- flag="0x0"
- echo "Testing with 'block on fault' flag OFF"
- for opcode in "0x0a"; do
- test_op_transl_fetch $opcode $flag
- done
-
- unbind_vfio
-fi
-
-disable_wqs
-stop_iaa
-_cleanup
-exit 0

View File

@ -9,6 +9,11 @@ spec:
- name: dsa-accel-config-demo
image: intel/accel-config-demo:devel
imagePullPolicy: IfNotPresent
workingDir: "/usr/libexec/accel-config/test/"
command:
- "./dsa_user_test_runner.sh"
args:
- "--skip-config"
resources:
limits:
dsa.intel.com/wq-user-dedicated: 1

View File

@ -8,7 +8,11 @@ spec:
containers:
- name: iaa-accel-config-demo
image: intel/accel-config-demo:devel
command: [ "/bin/bash", "-c", "cd /test && /bin/bash -e ./iaa_user_test_runner.sh" ]
workingDir: "/usr/libexec/accel-config/test/"
command:
- "./iaa_user_test_runner.sh"
args:
- "--skip-config"
imagePullPolicy: IfNotPresent
resources:
limits: