Re:Setting up a Raspberry Pi with 2 Network Interfaces as a ...
by LinuXY on Friday May 21, 2021 @02:09PM
(#27237680)
The NanoPi R4S has a RTL8169 controller with MSI-X capabilities. Post irqbalance setup I verified it's properly distributing IRQs. I'm using mine as a transparent bridge and network monitor. https://news.ycombinator.com/item?id=27236081
Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
Re:Setting up a Raspberry Pi with 2 Network Interfaces as a ...
by NathanKP on Friday May 21, 2021 @02:42PM
(#27238143)
Interesting, I'll have to check that device out. I'm using Raspberry Pi 4b and it does not have the right capabilities, ethtool just says the operation is not supported:
sudo ethtool -x eth0
Cannot get RX ring count: Operation not supported
I might have to add a NanoPi to my collection
I'm working on a project recently and the main bottleneck I'm seeing is that all eth0 interrupts go to a single core, and that core gets swamped with interrupts until it can't handle them anymore and ksoftirqd maxes out at 100% usage on a single core.
This seriously hurts the throughput. I know with RSS I would be able to distribute the eth0 hardware interrupts into 4 queues, with each queue being balanced by irqbalance onto it's own core.
However, in all my searching it appears that the Raspberry Pi hardware/driver is not capable of receive side scaling, and can only put eth0 interrupts into a single queue.
I would love to be told otherwise, if anyone else has found a workaround for this.