I was trying to figure out how to improve BPI R2 network performance and I stumbled upon this article https://www.spinics.net/lists/linux-doc/msg02975.html
I tried to configure RPS and I it actually worked. The result was really surprising. I got from 600Mbits to 940Mbits. In addition… the CPU load is now at 1%, instead of 100% for core0.
What RPS does, as I understand, is utilizing other CPU cores instead of one that is being interrupted.
I had compiled latest kernel from https://github.com/frank-w/BPI-R2-4.14/ v5.4
You can turn RPS by setting a value in
What you want, is to avoid core0, which is the only one being interrupted. I used value “e” for cores 1-3 by
echo e > /sys/class/net/lan1/queues/rx-0/rps_cpus.
BTW Thank you frank-w for your work for community!