If the ethernet card has only one queue (i210 has two queues, i211 has only one), then all the interrupts generated by that NIC will be handled by a single CPU core. Even if irqbalance is running, there isn’t much it can do to distribute the load because there’s only one interrupt source (the single queue) from the NIC. In this case, irqbalance won’t significantly increase the throughput of the ethernet interface. I am not sure which one of the two cards are installed in the mini appliance.
I don’t know if Linux supports multithreading with PPPoE but I know that BSD only supports a single thread, so queues don’t matter at all there. Some even say NICs without queues are faster then:
Not if the interrupts are not independent. Anyhow you are right, i211 has one queue, but i211AT has 2 queues (2 in and 2 out), so each queue can generate interrupts independently, and these interrupts can be distributed among different CPU cores.
EDIT: actually, the datasheet is showing i211, with two queues. My memory was clearly faulty. I thought it had only one queue.
@bbitsch as you posted in the link, the apu2 line can have either i211 or i210. I have apu2d4 which happens to be i210. This is why I specifically mentioned these two. But I must have misunderstood or forgotten that i211 had more than one queue.
The Realtek RTL8125B NIC mentioned in the link actually supports RSS (“Supports quad core Receive-Side Scaling” which implies 4x RX).
But I haven’t figured out if this is a hardware issue as this Eugene Grosbein guy claims, because then Linux routers like OpenWRT and IPFire should have the same problem with these Intel NICs, but teklager already proved that it can’t be a hardware issue because OpenWRT is faster:
Or is Linux faster because it supports multithreading with PPPoE?
This guy also measured faster PPPoE throughput with Linux, although the NIC is unknown: