Hello Cédric, On 26/07/03 11:17AM, Cédric Le Goater wrote:
On 7/3/26 10:59, Aditya Gupta wrote:
<...snip...> + def test_linux_remote_interrupts(self): + self.require_accelerator("tcg") + self.set_machine('powernv') + + # Have below setup in this test: + # 1. e1000e attached to pcie.6, which is from 7th PHB, belonging to 2nd + # socket (chip 1), in a powernv boot with default 6 PHBs per socket + # 2. CPU on 2nd socket (chip 1) disabled + # 3. RX IRQ's affinity to chip 2, and TX IRQ's affinity to chip 3 + # + # Then ping is done, to generate interrupts from e1000e which should go + # to IRQ server on the remote sockets + self.vm.add_args('-smp', '4,sockets=4,cores=1,threads=1') + self.vm.add_args('-netdev', 'user,id=net0') + self.vm.add_args('-device', 'e1000e,netdev=net0,bus=pcie.6')
2 sockets are enough.
# grep -E "eth0|nvme" /proc/interrupts 76: 12 0 PNV-PCI-MSI 268959744 Edge nvme0q0 77: 62 0 PNV-PCI-MSI 268959745 Edge nvme0q1 78: 0 67 PNV-PCI-MSI 268959746 Edge nvme0q2 79: 0 34 PNV-PCI-MSI 2416443392 Edge eth0-rx-0 80: 0 20 PNV-PCI-MSI 2416443393 Edge eth0-tx-0 81: 0 4 PNV-PCI-MSI 2416443394 Edge eth0 # echo 0 > /sys/devices/system/cpu/cpu1/online # grep -E "eth0|nvme" /proc/interrupts 76: 12 PNV-PCI-MSI 268959744 Edge nvme0q0 77: 62 PNV-PCI-MSI 268959745 Edge nvme0q1 78: 0 PNV-PCI-MSI 268959746 Edge nvme0q2 79: 10 PNV-PCI-MSI 2416443392 Edge eth0-rx-0 80: 0 PNV-PCI-MSI 2416443393 Edge eth0-tx-0 81: 0 PNV-PCI-MSI 2416443394 Edge eth0
A non-zero count on eth0-rx is good enough.
# ping -W2 -c5 10.0.2.2 PING 10.0.2.2 (10.0.2.2): 56 data bytes 64 bytes from 10.0.2.2: seq=0 ttl=255 time=7.339 ms 64 bytes from 10.0.2.2: seq=1 ttl=255 time=0.673 ms 64 bytes from 10.0.2.2: seq=2 ttl=255 time=0.405 ms 64 bytes from 10.0.2.2: seq=3 ttl=255 time=0.369 ms 64 bytes from 10.0.2.2: seq=4 ttl=255 time=0.516 ms --- 10.0.2.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss # grep -E "eth0|nvme" /proc/interrupts 76: 12 PNV-PCI-MSI 268959744 Edge nvme0q0 77: 62 PNV-PCI-MSI 268959745 Edge nvme0q1 78: 0 PNV-PCI-MSI 268959746 Edge nvme0q2 79: 34 PNV-PCI-MSI 2416443392 Edge eth0-rx-0 80: 10 PNV-PCI-MSI 2416443393 Edge eth0-tx-0 81: 0 PNV-PCI-MSI 2416443394 Edge eth0 That's even better I agree.
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks for the review and the suggestion. About using 4 sockets, I used it so the receive and transmit interrupts both go to different sockets, so more sockets are involved, which I assumed may help catch some rare cases ? Also, with 4 sockets, affinity setting also gets tested, which won't happen in 2 sockets as we don't need to set affinity in that case. I will send a v5 with 2 sockets if you still think otherwise. What do you say ? Thanks, - Aditya G
Thanks,
C.