1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
debug: 0.857
user-level: 0.799
assembly: 0.789
register: 0.778
virtual: 0.772
graphic: 0.765
permissions: 0.765
peripherals: 0.761
mistranslation: 0.756
semantic: 0.753
architecture: 0.751
VMM: 0.747
device: 0.742
performance: 0.724
PID: 0.722
arm: 0.714
vnc: 0.710
ppc: 0.706
KVM: 0.689
network: 0.685
TCG: 0.661
hypervisor: 0.652
risc-v: 0.651
files: 0.647
boot: 0.615
socket: 0.574
kernel: 0.557
x86: 0.515
i386: 0.417
vhost-user multi-queues interrupt failed when Qemu reconnection happens
After upgrade qemu to v4.2.0, vhost-user multi-queues interrupt failed with event idx interrupt mode when reconnection happens.
Test Environment:
DPDK version: DPDK v19.11
Other software versions: qemu 4.2.0.
OS: Linux 4.15.0-20-generic
Compiler: gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Hardware platform: Purley.
The reproduce step is:
1. Launch l3fwd-power example app with client mode::
./l3fwd-power -l 1-16 \
-n 4 --socket-mem 1024,1024 --legacy-mem --no-pci\
--log-level=9 \
--vdev 'eth_vhost0,iface=/vhost-net0,queues=16,client=1' \
-- -p 0x1 \
--parse-ptype 1 \
--config "(0,0,1),(0,1,2),(0,2,3),(0,3,4),(0,4,5),(0,5,6),(0,6,7),(0,7,8),(0,8,9),(0,9,10),(0,10,11),(0,11,12),(0,12,13),(0,13,14),(0,14,15),(0,15,16)"
2. Launch VM1 with server mode:
3. Relauch l3fwd-power sample to for reconnection:
./l3fwd-power -l 1-16 \
-n 4 --socket-mem 1024,1024 --legacy-mem --no-pci\
--log-level=9 \
--vdev 'eth_vhost0,iface=/vhost-net0,queues=16,client=1' \
-- -p 0x1 \
--parse-ptype 1 \
--config "(0,0,1),(0,1,2),(0,2,3),(0,3,4),(0,4,5),(0,5,6),(0,6,7),(0,7,8),(0,8,9),(0,9,10),(0,10,11),(0,11,12),(0,12,13),(0,13,14),(0,14,15),(0,15,16)"
4. Set vitio-net with 16 quques and give vitio-net ip address:
ethtool -L [ens3] combined 16 # [ens3] is the name of virtio-net
ifconfig [ens3] 1.1.1.1
5. Send packets with different IPs from virtio-net, notice to bind each vcpu to different send packets process::
taskset -c 0 ping 1.1.1.2
taskset -c 1 ping 1.1.1.3
taskset -c 2 ping 1.1.1.4
taskset -c 3 ping 1.1.1.5
taskset -c 4 ping 1.1.1.6
taskset -c 5 ping 1.1.1.7
taskset -c 6 ping 1.1.1.8
taskset -c 7 ping 1.1.1.9
taskset -c 8 ping 1.1.1.2
taskset -c 9 ping 1.1.1.2
taskset -c 10 ping 1.1.1.2
taskset -c 11 ping 1.1.1.2
taskset -c 12 ping 1.1.1.2
taskset -c 13 ping 1.1.1.2
taskset -c 14 ping 1.1.1.2
taskset -c 15 ping 1.1.1.2
If everything ok, then we can see the result such as following:
L3FWD_POWER: lcore 0 is waked up from rx interrupt on port 0 queue 0
...
...
L3FWD_POWER: lcore 15 is waked up from rx interrupt on port 0 queue 15
But we can't see the log above because of the bug.
The QEMU project is currently considering to move its bug tracking to
another system. For this we need to know which bugs are still valid
and which could be closed already. Thus we are setting older bugs to
"Incomplete" now.
If you still think this bug report here is valid, then please switch
the state back to "New" within the next 60 days, otherwise this report
will be marked as "Expired". Or please mark it as "Fix Released" if
the problem has been solved with a newer version of QEMU already.
Thank you and sorry for the inconvenience.
[Expired for QEMU because there has been no activity for 60 days.]
|