diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-03 19:39:53 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-03 19:39:53 +0200 |
| commit | dee4dcba78baf712cab403d47d9db319ab7f95d6 (patch) | |
| tree | 418478faf06786701a56268672f73d6b0b4eb239 /results/classifier/108/network/2884 | |
| parent | 4d9e26c0333abd39bdbd039dcdb30ed429c475ba (diff) | |
| download | emulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.tar.gz emulator-bug-study-dee4dcba78baf712cab403d47d9db319ab7f95d6.zip | |
restructure results
Diffstat (limited to 'results/classifier/108/network/2884')
| -rw-r--r-- | results/classifier/108/network/2884 | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/results/classifier/108/network/2884 b/results/classifier/108/network/2884 deleted file mode 100644 index bc87a2f0..00000000 --- a/results/classifier/108/network/2884 +++ /dev/null @@ -1,50 +0,0 @@ -network: 0.982 -device: 0.908 -graphic: 0.843 -KVM: 0.809 -socket: 0.772 -other: 0.681 -PID: 0.657 -vnc: 0.630 -files: 0.617 -permissions: 0.594 -performance: 0.559 -semantic: 0.528 -debug: 0.491 -boot: 0.408 - -Questions about vfio-pci -Description of problem: -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. -Steps to 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 information: -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: - -{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. - -{width="455" height="266"} - -vfio_disable_interrupts in QEMU calls the kernel vfio driver interface vfio_pci_set_irqs_ioctl - -{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? |
