openwrt/target/linux
Rafał Miłecki fcbd39689e bcm53xx: enable & setup packet steering
Packet steering can improve NAT masquarade performance on Northstar by
40-50%. It makes reaching 940-942 Mb/s possible on BCM4708 (and
obviously BCM47094 too). Add scripts setting up the most optimal
Northstar setup.

Below are testing results for running iperf TCP traffic from LAN to WAN.
They were used to pick up golden values.

┌──────────┬──────────┬────────────────────┬────────────────────┐
│   eth0   │  br-lan  │ flow_offloading=0  │ flow_offloading=1  │
│          │          ├─────────┬──────────┼─────────┬──────────┤
│ rps_cpus │ rps_cpus │ BCM4708 │ BCM47094 │ BCM4708 │ BCM47094 │
├──────────┼──────────┼─────────┼──────────┼─────────┼──────────┤
│        0 │        0 │     387 │      671 │     707 │      941 │
│        0 │        1 │     343 │      576 │     705 │      941 │
│        0 │        2 │   ✓ 574 │    ✓ 941 │     704 │      940 │
│        1 │        0 │     320 │      549 │     561 │      941 │
│        1 │        1 │     327 │      551 │     553 │      941 │
│        1 │        2 │     523 │    ✓ 940 │     559 │      940 │
│        2 │        0 │     383 │      652 │   ✓ 940 │      941 │
│        2 │        1 │     448 │      754 │   ✓ 942 │      941 │
│        2 │        2 │     404 │      655 │   ✓ 941 │      941 │
└──────────┴──────────┴─────────┴──────────┴─────────┴──────────┘

Above tests were performed with all eth0 interrupts handled by CPU0.
Setting "echo 2 > /proc/irq/38/smp_affinity" was tested on BCM4708 but
it didn't increased speeds (just required different steering):

┌──────────┬──────────┬───────────┐
│   eth0   │  br-lan  │ flow_offl │
│   rx-0   │   rx-0   │ oading=0  │
│ rps_cpus │ rps_cpus │  BCM4708  │
├──────────┼──────────┼───────────┤
│        0 │        0 │       384 │
│        0 │        1 │     ✓ 574 │
│        0 │        2 │       348 │
│        1 │        0 │       383 │
│        1 │        1 │       412 │
│        1 │        2 │       448 │
│        2 │        0 │       321 │
│        2 │        1 │       520 │
│        2 │        2 │       327 │
└──────────┴──────────┴───────────┘

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2022-06-24 07:39:51 +02:00
..
apm821xx apm821xx: align gpio-keys node names with dt-schema 2022-06-19 12:40:30 +02:00
archs38
armvirt
at91
ath25
ath79 ath79: support for TP-Link EAP225-Outdoor v3 2022-06-22 17:47:11 +02:00
bcm27xx
bcm47xx bcm47xx: Fix Netgear WNR3500L v2 image format 2022-06-20 14:29:12 -07:00
bcm53xx bcm53xx: enable & setup packet steering 2022-06-24 07:39:51 +02:00
bcm63xx
bcm4908
bmips
gemini
generic kernel: drop patch adding hardcoded kernel compilation flags 2022-06-20 22:17:38 +02:00
imx
ipq40xx ipq40xx: add support for Meraki MR74 2022-06-19 12:31:02 +02:00
ipq806x kernel: backport mtd parser for Sercomm partitions 2022-06-19 22:10:03 +02:00
kirkwood
lantiq lantiq: dts: fix reset controller reference on Danube and AR9 2022-06-20 19:43:33 +02:00
layerscape
malta
mediatek mediatek: UniFi 6 LR: disable RTC 2022-06-18 17:32:07 +01:00
mpc85xx mpc85xx: p2020: add RTC ds1307 to kernel 2022-06-19 12:31:02 +02:00
mvebu mvebu: add SolidRun ClearFog GT 8K 2022-06-19 12:40:30 +02:00
mxs
octeon
octeontx
omap
oxnas
pistachio
qoriq
ramips ramips: fix booting on ZyXEL NBG-419N v2 2022-06-20 11:05:41 +02:00
realtek realtek: fix gcc-12 build with -Werror=array-compare 2022-06-22 18:37:40 +02:00
rockchip rockchip: add kernel 5.15 as testing 2022-06-18 22:11:26 +02:00
sunxi
tegra
uml
x86
zynq
Makefile