Just did some SQM testing on this with iperf3 using my own build from the previous post (with 1.6ghz OC). All tests done with cake / piece_of_cake.
//////// STOCK SETTINGS //////////
Cake set to 1Gb up/down
- egress: 836Mb / 1 core @ 100%
- ingress: 525Mb / 1 core @ 100%
Cake set to 500Mb up/down
- egress: 475Mb / 1 core @ 75%
- ingress: 475Mb / 1 core @ 93%
Cake set to 500Mb up/down, Bidirectional test
- egress: 442Mb / 1 core @ 100%
- ingress: 194Mb / 1 core @ 100%
//////// MANUAL TUNED SETTINGS
//////// (eth0 IRQ on core 0, eth0 queue on core 1, eth1 queue on core 2)
Cake set to 1Gb up/down
- egress: 830Mb / 1 core @ 100%
- ingress: 762Mb / 1 core @ 100% + 1 core @ 75%
Cake set to 500Mb up/down
- egress: 475Mb / 1 core @ 75%
- ingress: 475Mb / 1 core @ 93%
Cake set to 500Mb up/down, Bidirectional test
- egress: 458Mb / 3 cores @ 70-90%
- ingress: 412Mb / 3 cores @ 70-90%
Assigning the IRQs and queues manually to specific cores made a huge difference. Egress was about the same, but ingress went from 525 to 762Mb. And bidirectional went from 442/194 to 458/412.
In summary I would say this device is good for up to a symmetrical 400Mb connection, or an asymmetrical connection up to 500/400, assuming you are willing to do some manual tuning. At stock clocks and settings, max recommended connection would be around 400/200.
The commands I used for manual tuning:
#eth0 IRQ on core 0
echo 1 > /proc/irq/35/smp_affinity
#eth1 has no IRQ?
#eth0 queue on core 1
echo 2 > /sys/class/net/eth0/queues/rx-0/rps_cpus
#eth1 queue on core 2
echo 4 > /sys/class/net/eth1/queues/rx-0/rps_cpus
Edit:
Just an FYI that the r8152 interface can be unstable at high throughput. I have been able to make the r8152 driver crash a couple times when running an iperf3 bidirectional test with SQM on and set to gigabit speeds. However, that's not really a realistic workload for this device. The interface reset and came back online within a few seconds.
It never crashed with SQM set to 500Mb up/down which is about the max it could handle realistically anyway, so I would call it stable under normal circumstances.