Mailing List Archive

xen-4.11 IRQ disable
Greetings,

I have a Linux Debian domU:

Debian GNU/Linux 10 (buster) x86_64

I have set up PCI passthrough to pass an Ethernet interface through to the
domU. This is the device on the PV dom0:

07:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet
Controller (rev 05)
Subsystem: Intel Corporation PRO/1000 GT Desktop Adapter
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
Memory at f7240000 (32-bit, non-prefetchable) [size=128K]
Memory at f7220000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c080 [size=64]
Expansion ROM at f7200000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: pciback
Kernel modules: e1000

Setting:

pci = ['07:00.0']

The device appears in the domU (domU is managed with xl):

00:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet
Controller (rev 05)
Subsystem: Intel Corporation PRO/1000 GT Desktop Adapter
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 25, NUMA
node 0
Memory at f7240000 (32-bit, non-prefetchable) [size=128K]
Memory at f7220000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c080 [size=64]
Expansion ROM at f7200000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] PCI-X non-bridge device
Kernel driver in use: e1000
Kernel modules: e1000

# ip link
3: enp0s0: <BROADCAST,MULTICAST,NOARP,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:1b:21:8d:b3:4f brd ff:ff:ff:ff:ff:ff

My domU dmesg is filled with logs like this:

Dec 13 00:25:53 razsig kernel: [166070.359335] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:53 razsig kernel: [166070.463367] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:53 razsig kernel: [166070.567356] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:53 razsig kernel: [166070.671334] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:54 razsig kernel: [166070.775414] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:54 razsig kernel: [166070.879364] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:54 razsig kernel: [166070.983383] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:54 razsig kernel: [166071.087380] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:54 razsig kernel: [166071.191348] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:54 razsig kernel: [166071.295417] e1000 0000:00:00.0: swiotlb
buffer is full (sz: 1522 bytes)
Dec 13 00:25:58 razsig kernel: [166075.455420] swiotlb_tbl_map_single: 39
callbacks suppressed

I also see a message from the domU kernel that the PCI device IRQ is
disabled. When this occurs, I don't seem to received further traffic on the
interface (tested with tcpdump(8)).

The domU runs Debian GNU/Linux 11 (bullseye). Is there more I can do to
ensure the operation of this card? The intended use is passive traffic
capture in the domU. I want to have tcpdump, Zeek and Suricata running with
AF_PACKET.

--
Darren Spruell
phatbuckett@gmail.com