I just switched to 19.07, but it doesn't use both CPU cores. All interrupts for eth0 and eth1 goes to CPU0, so CPU1 is basically idle while the other core is pinned to 100 % handling interrupts.
Are you sure it's using both cores for you? If so, how?
I've tried to distribute interrupts to both cores, but I can't get it to work.
If the service is symmetrical 1000 / 1000 the MultiPort DSA change might offer an assist. De-conflate, the MultiPort DSA change is not CPU core usage, you may still have an issue distributing IRQs
cat /proc/interrupts
example from mamba with MP-DSA in play, notice etho and eth1
I was hoping I could split it into multiple RX/TX queues and direct the queues to different cores, but I'm not even able to set CPU affinity(ash: write error: I/O error), so eth0(wan?) and eth1(lan?) are on the same CPU. On a normal Linux box with half-decent network cards, this is straightforward, but I really don't get what's going on here.
Not sure if it's a hardware limit or software, but I do find it strange if the hardware of a dual-core router can't use all cores for interrupts.
I've also tried to enable interrupt coalescing to reduce the number of interrupts, but I'm not able to enable it using ethtool.
If someone knows how to enable interrupt coalescing(or if it's even supported by the hardware) or split interrupts across multiple cores then that would be awesome as I'm totally lost now.