summary refs log tree commit diff stats
path: root/gitlab/issues/target_arm/host_arm/accel_missing
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_arm/host_arm/accel_missing')
-rw-r--r--gitlab/issues/target_arm/host_arm/accel_missing/1167.toml15
-rw-r--r--gitlab/issues/target_arm/host_arm/accel_missing/1776.toml15
-rw-r--r--gitlab/issues/target_arm/host_arm/accel_missing/1857.toml60
-rw-r--r--gitlab/issues/target_arm/host_arm/accel_missing/2884.toml43
4 files changed, 133 insertions, 0 deletions
diff --git a/gitlab/issues/target_arm/host_arm/accel_missing/1167.toml b/gitlab/issues/target_arm/host_arm/accel_missing/1167.toml
new file mode 100644
index 000000000..61fa71238
--- /dev/null
+++ b/gitlab/issues/target_arm/host_arm/accel_missing/1167.toml
@@ -0,0 +1,15 @@
+id = 1167
+title = "Does qemu-system-aarch64 support hyper-v elightenment feature for windows for arm guest?"
+state = "closed"
+created_at = "2022-08-22T02:16:26.062Z"
+closed_at = "2022-08-26T18:36:24.560Z"
+labels = ["host: arm", "kind::Feature Request", "target: arm"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1167"
+host-os = "n/a"
+host-arch = "n/a"
+qemu-version = "n/a"
+guest-os = "n/a"
+guest-arch = "n/a"
+description = "n/a"
+reproduce = "n/a"
+additional = "n/a"
diff --git a/gitlab/issues/target_arm/host_arm/accel_missing/1776.toml b/gitlab/issues/target_arm/host_arm/accel_missing/1776.toml
new file mode 100644
index 000000000..cba40af60
--- /dev/null
+++ b/gitlab/issues/target_arm/host_arm/accel_missing/1776.toml
@@ -0,0 +1,15 @@
+id = 1776
+title = "qemu-armel SEGFAULTs when trying to map a commpage on armel"
+state = "closed"
+created_at = "2023-07-21T15:29:42.247Z"
+closed_at = "2023-08-24T12:02:03.890Z"
+labels = ["host: arm", "kind::Bug", "linux-user", "target: arm"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1776"
+host-os = "n/a"
+host-arch = "n/a"
+qemu-version = "n/a"
+guest-os = "n/a"
+guest-arch = "n/a"
+description = "n/a"
+reproduce = "n/a"
+additional = "n/a"
diff --git a/gitlab/issues/target_arm/host_arm/accel_missing/1857.toml b/gitlab/issues/target_arm/host_arm/accel_missing/1857.toml
new file mode 100644
index 000000000..57effb592
--- /dev/null
+++ b/gitlab/issues/target_arm/host_arm/accel_missing/1857.toml
@@ -0,0 +1,60 @@
+id = 1857
+title = "Major qemu-aarch64 performance slowdown since commit 59b6b42cd3"
+state = "closed"
+created_at = "2023-09-01T14:00:23.709Z"
+closed_at = "2023-09-01T15:15:06.829Z"
+labels = ["host: arm", "host: loongarch64", "target: arm"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1857"
+host-os = "Gentoo Linux & Ubuntu & Debian"
+host-arch = "loongarch64 & aarch64 & x86_64"
+qemu-version = "8.0.0, 8.1.0 and master"
+guest-os = "Linux user"
+guest-arch = "AArch64"
+description = """I have observed a major performance slowdown between qemu 8.0.0 and 8.1.0:
+
+
+qemu 8.0.0: 0.8s
+
+qemu 8.1.0: 6.8s
+
+
+After bisecting the commits between 8.0.0 and 8.1.0, the offending commit is 59b6b42cd3:
+
+
+commit 59b6b42cd3446862567637f3a7ab31d69c9bef51
+Author: Richard Henderson <richard.henderson@linaro.org>
+Date:   Tue Jun 6 10:19:39 2023 +0100
+
+    target/arm: Enable FEAT_LSE2 for -cpu max
+
+    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
+    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+    Message-id: 20230530191438.411344-21-richard.henderson@linaro.org
+    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
+
+
+Reverting the commit in latest master fixes the problem:
+
+qemu 8.0.0: 0.8s
+
+qemu 8.1.0: 6.8s
+
+qemu master + revert 59b6b42cd3: 0.8s
+
+Alternatively, specify `-cpu cortex-a35` to disable LSE2:
+
+`time ./qemu-aarch64 -cpu cortex-a35`: 0.8s
+
+`time ./qemu-aarch64`: 6.77s
+
+The slowdown is also observed when running qemu-aarch64 on aarch64 machine:
+
+`time ./qemu-aarch64 /usr/bin/node -e 1`: 2.91s
+
+`time ./qemu-aarch64 -cpu cortex-a35 /usr/bin/node -e 1`: 1.77s
+
+The slowdown on x86_64 machine is small: 362ms -> 378ms."""
+reproduce = """1. Run `time ./qemu-aarch64 node-aarch64 -e 1` (node-aarch64 is NodeJS v16 built for AArch64)
+2. Using qemu master, the output says `0.8s`
+3. Using qemu master with commit 59b6b42cd3 reverted, the output says `6.77s`"""
+additional = """"""
diff --git a/gitlab/issues/target_arm/host_arm/accel_missing/2884.toml b/gitlab/issues/target_arm/host_arm/accel_missing/2884.toml
new file mode 100644
index 000000000..9f9f7e14c
--- /dev/null
+++ b/gitlab/issues/target_arm/host_arm/accel_missing/2884.toml
@@ -0,0 +1,43 @@
+id = 2884
+title = "Questions about vfio-pci"
+state = "opened"
+created_at = "2025-03-27T09:32:21.969Z"
+closed_at = "n/a"
+labels = ["VFIO", "host: arm", "target: arm"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2884"
+host-os = "n/a"
+host-arch = "ARM"
+qemu-version = "qemu v6.2.0 (qemu v8.2.0 also reproduces)"
+guest-os = "n/a"
+guest-arch = "n/a"
+description = """When I use VFIO-PCI to pass through an hns3 device and load the driver to the VM to enable the hns3 network port, there is a possibility that the failure occurs."""
+reproduce = """1. Start the VM and load the hns3 driver.
+2. enable net port
+
+   `ifconfig eth0 10.10.10.10/24 up`
+3. ping host
+
+   `ping 10.10.10.11 -c 3`"""
+additional = """I have the following findings:
+
+1. The problem can be reproduced in different kernel versions and QEMU versions.
+2. The problem does not recur when the number of vCPUs is 1.
+3. It is irrelevant to the GIC version.
+
+the hns3 relately logic:
+
+![image.png](/uploads/523c6fd8d564d4d48ba5c930fd811478/image.png){width="394" height="285"}
+
+If the VM has two vCPUs, "ifconfig eth0 10.10.10.10/24 up" command performs two sequential enable_irq operations(vector_num=2). The enable_irq will trap into KVM for interrupt configuration and exit to QEMU for PCI device emulation. When emulating interrupt enabling in QEMU, vfio\\_\\[intx/msi/msix\\]\\_enable calls vfio_disable_interrupts to disable all interrupts on the vdev.
+
+![image.png](/uploads/e51baf6ee3a533332a3107a133184f11/image.png){width="455" height="266"}
+
+vfio_disable_interrupts in QEMU calls the kernel vfio driver interface vfio_pci_set_irqs_ioctl
+
+![image.png](/uploads/e4534c4e0b7033eb13e2ccfda558f505/image.png){width="404" height="127"}
+
+dump stack as above. and then its_irq_domain_deactivate will call its_send_discard to discard the interrupt on the device.
+
+If an interrupt is handled after the first enable_irq but the second enable_irq discards it, this inconsistency leads to network port enablement failures.
+
+It puzzles me. why does the vfio-pci disable all interrupts of the device before enabling irqs?"""