|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] automation: improve checking for MSI/MSI-X in PCI passthrough tests
commit cbb0fdc0d7b7321d9293e974ea975999be1a3053
Author: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
AuthorDate: Fri Oct 6 04:05:18 2023 +0200
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Thu Oct 19 21:52:52 2023 +0100
automation: improve checking for MSI/MSI-X in PCI passthrough tests
Checking /proc/interrupts is unreliable because different drivers set
different names there. Install pciutils and use lspci instead.
In fact, the /proc/interrupts content was confusing enough that
adl-pci-hvm had it wrong (MSI-X is in use there). Fix this too.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Release-acked-by: Henry Wang <Henry.Wang@xxxxxxx>
---
automation/gitlab-ci/test.yaml | 2 --
automation/scripts/qubes-x86-64.sh | 19 +++++++------------
automation/tests-artifacts/alpine/3.18.dockerfile | 1 +
3 files changed, 8 insertions(+), 14 deletions(-)
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 4b836bf047..61e642cce0 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -195,8 +195,6 @@ adl-pci-pv-x86-64-gcc-debug:
adl-pci-hvm-x86-64-gcc-debug:
extends: .adl-x86-64
- variables:
- PCIDEV_INTR: "MSI"
script:
- ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
needs:
diff --git a/automation/scripts/qubes-x86-64.sh
b/automation/scripts/qubes-x86-64.sh
index cfe9247a26..4aeb3fc50e 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -92,23 +92,18 @@ on_reboot = "destroy"
domU_check="
set -x -e
-ip link set eth0 up
-timeout 30s udhcpc -i eth0
+interface=eth0
+ip link set \"\$interface\" up
+timeout 30s udhcpc -i \"\$interface\"
pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
ping -c 10 \"\$pingip\"
echo domU started
-cat /proc/interrupts
+pcidevice=\$(basename \$(readlink /sys/class/net/\$interface/device))
+lspci -vs \$pcidevice
"
- if [ "$PCIDEV_INTR" = "MSI-X" ]; then
+ if [ -n "$PCIDEV_INTR" ]; then
domU_check="$domU_check
-grep -- '\\(-msi-x\\|PCI-MSI-X\\).*eth0' /proc/interrupts
-"
- elif [ "$PCIDEV_INTR" = "MSI" ]; then
- # depending on the kernel version and domain type, the MSI can be
- # marked as '-msi', 'PCI-MSI', or 'PCI-MSI-<SBDF>'; be careful to not
match
- # -msi-x nor PCI-MSI-X
- domU_check="$domU_check
-grep -- '\\(-msi \\|PCI-MSI\\( \\|-[^X]\\)\\).*eth0' /proc/interrupts
+lspci -vs \$pcidevice | fgrep '$PCIDEV_INTR: Enable+'
"
fi
domU_check="$domU_check
diff --git a/automation/tests-artifacts/alpine/3.18.dockerfile
b/automation/tests-artifacts/alpine/3.18.dockerfile
index 333951d05e..5f521572b8 100644
--- a/automation/tests-artifacts/alpine/3.18.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18.dockerfile
@@ -33,6 +33,7 @@ RUN \
apk add pixman && \
apk add curl && \
apk add udev && \
+ apk add pciutils && \
\
# Xen
cd / && \
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |