[BPI-R4] TODO List

currently i talk to mtk about rss (not yet lro). they give me a patchā€¦but there are still some issues found (e.g. threaded napi)

And btw. I cleaned forum last 2 days from massive spammers. Also time not going into other tasks.

But pinctrl and and a bunch of dts patches are on the way to go into mainline linux.

1 Like

Ahh ok, is the RSS only patch available somewhere to review ?

But pinctrl and and a bunch of dts patches are on the way to go into mainline linux.

Nice ill keep an eye out for those changes

Sorry to bother, but since you have method to get touch with mtk, can you help to contact mtk about @ericwoud 's QinQ patch?

Imho we should focus on specific topics, and so stabilize ethernet driver while getting rss/lro working first (these issues are showing more often when throughput increases). Then other topics in networking. They also need to port their 5.4 patches to 6.6 and helping getting the tx timeouts fixed.

Once these tasks are done we can ask about additional parts. There are not much network people reachable thereā€¦only had second topic with pmic voltages discussed with them simultanously.

1 Like

Looks like the RSS patches have been published for 6.6

https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/445f9a3b0efbb0edf266b574a9d50693b8f906eb

1 Like

yes, after i got it working on mainline linux (6.13) :slight_smile: they added the patch to the sdk. daniel tries to add it to mainline openwrt

then we could look how to upstream it to net-next (but we have to make sure no other device gets broken by the changes, e.g. the additional irqs)

1 Like

Iā€™ll grab your 6.13 updates and give it a whirl :slight_smile: Iā€™m on 6.9.0 right now.

Imho 6.12-main would make more sense as it is lts kernel.

I built 6.13 just to try. Unfortunately it seems to be slower so Iā€™m gonna try 6.12

What exactly is slower? System itself,network,ā€¦? How do you test this?

Sorry for not being more specific - wireless network performance had dropped significantly. I havenā€™t tried 6.12 yet though, I just started building that now I was using 6.9-main from your tree for a baseline and was typically seeing around 300-400Mbps bidirectional thruput to a wired system (tested via iperf3 and the ookla speedtest.net cli test). The system was in the same physical location as well so as to rule that out. I tried a few different things to see if it was just the WiFi system weā€™re using but that doesnā€™t appear to be it. Iā€™ll report back as soon as Iā€™m done testing 6.12

just a big updateā€¦after mtk refactored code for openwrt 24.10 and kernel 6.6 and i upported this code to 6.14 we got rss/lro working so far

we can now use full 10G (9.4G) on the SFP slots also with single stream. We found out that iperf3 has some issues like hanging and throughput issues where iperf(2) has not.

for testing you can do this on r4

  1. configure smp-affinity and disable RPS for RSS

smp_affinity.sh

#!/bin/bash -v
cat /proc/interrupts | grep ethernet
echo 1 > /proc/irq/101/smp_affinity
echo 2 > /proc/irq/102/smp_affinity
echo 4 > /proc/irq/103/smp_affinity
echo 8 > /proc/irq/104/smp_affinity

echo 2 > /proc/irq/106/smp_affinity

echo 0 > /sys/devices/platform/soc/15100000.ethernet/net/eth0/queues/rx-0/rps_cpus                                                                             
echo 0 > /sys/devices/platform/soc/15100000.ethernet/net/eth1/queues/rx-0/rps_cpus                                                                             
echo 0 > /sys/devices/platform/soc/15100000.ethernet/net/eth2/queues/rx-0/rps_cpus
  1. configure interface and lro
IP="192.168.1.1"
ip a a $IP/24 dev eth2
ip l s eth2 up
ethtool -N eth2 flow-type tcp4 dst-ip $IP action 0 loc 0
ethtool -K eth2 lro on
#ethtool -k eth2
iperf -s -i 1

and on the other side (after ip config)

iperf -c <ip> -i 1

i hope i put all relevant information hereā€¦

4 Likes

RSS and RPS are conflict with each other?

Mtk tell me to disable it to avoid unexpected results.

If CPU0 is still busy, we will suspect that RPS has not been correctly disabled. We have found that connecting the cable can cause the RPS settings to be reset. This phenomenon also occurs in kernel 6.6, and the reason is currently unknown. Please confirm that the RPS setting of the interface is set to 0 after traffic.

1 Like

Is this a bug from openwrt? Or also happens to other distributions?

It sounds like a linux kernel issue so not specific to openwrt. But have not tried with it because i wanted to get it working firstā€¦and iā€™m still in testing. Need to test multiple streams and on other boards. Just wanted to increase the testing groupā€¦

Couldnā€™t this be backported to Openwrt

https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/refs/heads/master/autobuild/unified/

Oh thanks for that, I didnā€™t know mediatek did it already

:stuck_out_tongue:

https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/refs/heads/master/autobuild/unified/global/24.10/files/target/linux/mediatek/patches-6.6/

Patches 2709 - 2711