Skip to contentSkip to conversation

bus/pci: Secondary process initialization kills non-DPDK network interfaces

DPDK/core Bug 1738 [email protected] 1 participant 1 message Jul 3, 2025

lore
Share & tools
lore
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1738

Bug ID: 1738
Summary: bus/pci: Secondary process initialization kills
non-DPDK network interfaces
Product: DPDK
Version: 25.03
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: core
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---

On a system with one virtio interface bound to vfio-pci and additional virtio interfaces bound to the kernel driver: Starting a secondary DPDK process (with a -a flag specifying the pci address bound to vfio) causes all the kernel network interfaces to stop working, requiring a reboot.

This behavior is reproduced on a specific environment consisting of several VMs, but we have been unable to reproduce it on other environments, which also use virtio and the same kernel version.

Steps to Reproduce:
./dpdk-testpmd -l 4,5 -n 4 -a 0000:00:04.0 --proc-type=primary -- -i ./dpdk-testpmd -l 6,7 -n 4 -a 0000:00:04.0 --proc-type=secondary -- -i

This happens on all dpdk versions starting at 24.3.

I have narrowed the cause down to the following two commits:
4b741542ecde - bus/pci: avoid depending on private kernel value 647a0a6ecb04 - bus/pci: fix VFIO region info in secondary process

Without these commits there is no issue. With only 4b741542ecde, there is an error in the secondary process initialization (virtio_pci_init(): failed to remap pci device). With both commits, the network dies during secondary process initialization.

The kernel log contains lines such as:
kernel: NETDEV WATCHDOG: ens3 (virtio_net): transmit queue 0 timed out
...
kernel: virtio_net virtio0 ens3: TX timeout on queue: 0, sq: output.0, vq: 0x1,
name: output.0, 5286000 usecs ago

Kernel version: kernel 5.14.0-362.8.1.el9_3.x86_64

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.