From 5f435d787ebe285b6fe379c0329d627a3772d049 Mon Sep 17 00:00:00 2001 From: Philip Li Date: Thu, 25 Jul 2024 11:26:58 +0800 Subject: [PATCH] programs/lkvs: align with latest lkvs version Signed-off-by: Philip Li --- jobs/lkvs.yaml | 29 ++++++-- lib/tests/lkvs.sh | 164 ++++++++++++++++++++++------------------------ programs/lkvs/run | 2 +- 3 files changed, 100 insertions(+), 95 deletions(-) diff --git a/jobs/lkvs.yaml b/jobs/lkvs.yaml index dd896c7c5..f5c0a888b 100644 --- a/jobs/lkvs.yaml +++ b/jobs/lkvs.yaml @@ -4,17 +4,32 @@ category: functional lkvs: test: + - amx + - avx512vbmi - cet + - cmpccxadd + - dsa + - edac + - fred # - guest-test # cause machine power down - - pt + - idxd - ifs - - tdx-compliance - - umip + # - instruction-check - isst + - pcie + - pmu + - prefetchi + - pstate + - pt + - sdsi + - tdx-compliance + - tdx-guest + # - tdx-osv-sanity + - telemetry - th - - workload-xsave - thermal + - tpm + - tpmi + - umip + - workload-xsave - xsave - - fred - - sdsi - - pmu diff --git a/lib/tests/lkvs.sh b/lib/tests/lkvs.sh index 243f68ee2..6c6c3d733 100644 --- a/lib/tests/lkvs.sh +++ b/lib/tests/lkvs.sh @@ -11,96 +11,86 @@ build_libipt() build_lkvs() { - cd $BENCHMARK_ROOT/$testcase/lkvs && make --keep-going + [[ -f $BENCHMARK_ROOT/$testcase/lkvs/BM/$test/Makefile ]] || return 0 + + cd $BENCHMARK_ROOT/$testcase/lkvs/BM/$test || return + + make --keep-going || { + echo "$test make fail" + return 1 + } + + return 0 +} + +fixup_tdx_compliance() +{ + log_cmd insmod tdx-compliance/tdx-compliance.ko + echo all > /sys/kernel/debug/tdx/tdx-tests + log_cmd cat /sys/kernel/debug/tdx/tdx-tests +} + +fixup_splitlock() +{ + cat /proc/cpuinfo | grep -q split_lock_detect || die "split_lock_detect not supported on current CPU" } runtests() { - cd $BENCHMARK_ROOT/$testcase/lkvs || return + cd $BENCHMARK_ROOT/$testcase/lkvs/BM || return + + if [[ $(type -t "fixup_${test//-/_}") = function ]]; then + fixup_${test//-/_} || return + fi - case $test in - tests-client) - log_cmd ./runtests -f tests-client - ;; - tests-server) - log_cmd ./runtests -f tests-server - ;; - cet) - log_cmd ./runtests -f cet/tests - ;; - guest-test) - log_cmd ./runtests -f guest-test/guest.test_launcher.sh - ;; - pt) - log_cmd ./runtests -f pt/tests - ;; - ufs) - log_cmd ./runtests -f ufs/tests - ;; - ifs) - log_cmd ./runtests -f ifs/tests - ;; - rapl-client) - log_cmd ./runtests -f rapl/tests-client - ;; - rapl-server) - log_cmd ./runtests -f rapl/tests-server - ;; - tdx-compliance) - log_cmd insmod tdx-compliance/tdx-compliance.ko - echo all > /sys/kernel/debug/tdx/tdx-tests - log_cmd cat /sys/kernel/debug/tdx/tdx-tests - ;; - umip) - log_cmd ./runtests -f umip/tests - ;; - isst) - log_cmd ./runtests -f isst/tests - ;; - th) - log_cmd ./runtests -c "th/th_test 1" - log_cmd ./runtests -c "th/th_test 2" - ;; - workload-xsave) - log_cmd cd workload-xsave - log_cmd mkdir build - log_cmd cd build - log_cmd cmake .. - log_cmd make - available_workloads=$(./yogini 2>&1 | grep "Available workloads" | cut -d: -f 2 | xargs) - log_cmd ../start_test.sh -1 100 $available_workloads - ;; - thermal) - log_cmd ./runtests -f thermal/thermal-tests - ;; - xsave) - log_cmd ./runtests -f xsave/tests - ;; - fred) - log_cmd insmod fred/fred_test_driver.ko - # No doc about how to get the test result after loading the module - ;; - sdsi) - log_cmd ./runtests -f sdsi/tests - ;; - cstate-client) - log_cmd ./runtests -f cstate/tests-client - ;; - cstate-server) - log_cmd ./runtests -f cstate/tests-server - ;; - topology-client) - log_cmd ./runtests -f topology/tests-client - ;; - topology-server) - log_cmd ./runtests -f topology/tests-server - ;; - pmu) - log_cmd ./runtests -f pmu/tests - ;; - splitlock) - cat /proc/cpuinfo | grep -q split_lock_detect || die "split_lock_detect not supported on current CPU" - log_cmd ./runtests -f splitlock/tests - ;; - esac + if [[ -f $test/tests ]]; then + log_cmd ./runtests -f $test/tests + else + case $test in + cstate-client) + log_cmd ./runtests -f cstate/tests-client + ;; + cstate-server) + log_cmd ./runtests -f cstate/tests-server + ;; + fred) + log_cmd insmod fred/fred_test_driver.ko + # No doc about how to get the test result after loading the module + ;; + guest-test) + log_cmd ./runtests -f guest-test/guest.test_launcher.sh + ;; + prefetchi) + log_cmd prefetchi/prefetchi + ;; + rapl-client) + log_cmd ./runtests -f rapl/tests-client + ;; + rapl-server) + log_cmd ./runtests -f rapl/tests-server + ;; + th) + log_cmd ./runtests -c "th/th_test 1" + log_cmd ./runtests -c "th/th_test 2" + ;; + workload-xsave) + log_cmd cd workload-xsave + log_cmd mkdir build + log_cmd cd build + log_cmd cmake .. + log_cmd make + available_workloads=$(./yogini 2>&1 | grep "Available workloads" | cut -d: -f 2 | xargs) + log_cmd ../start_test.sh -1 100 $available_workloads + ;; + topology-client) + log_cmd ./runtests -f topology/tests-client + ;; + topology-server) + log_cmd ./runtests -f topology/tests-server + ;; + *) + die "unknown $test" + ;; + esac + fi } diff --git a/programs/lkvs/run b/programs/lkvs/run index a797a2d9b..e16eeb7c4 100755 --- a/programs/lkvs/run +++ b/programs/lkvs/run @@ -4,6 +4,6 @@ . $LKP_SRC/lib/tests/lkvs.sh build_libipt -build_lkvs +build_lkvs || exit runtests