immortalwrt/target/linux
Rafał Miłecki a50f5b3fb2 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>
(cherry picked from commit fcbd39689e)
2022-07-08 16:18:25 +02:00
..
apm821xx kernel: bump 5.4 to 5.4.191 2022-05-18 00:10:34 +02:00
arc770
archs38 kernel: Add missing kernel config options 2021-09-13 18:49:15 +02:00
armvirt
at91
ath25 kernel: bump 5.4 to 5.4.132 2021-07-19 22:47:17 +02:00
ath79 kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
bcm27xx kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
bcm47xx
bcm53xx bcm53xx: enable & setup packet steering 2022-07-08 16:18:25 +02:00
bcm63xx kernel: bump 5.4 to 5.4.179 2022-02-12 19:41:39 +01:00
bcm4908 bcm4908: include U-Boot in images 2022-03-14 08:51:02 +01:00
gemini kernel: bump 5.4 to 5.4.150 2021-10-02 16:05:34 +02:00
generic kernel: drop patch adding hardcoded kernel compilation flags 2022-07-08 15:38:42 +02:00
imx6
ipq40xx kernel: bump 5.4 to 5.4.191 2022-05-18 00:10:34 +02:00
ipq806x kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
kirkwood kirkwood: increase kernel partition of Linksyses 2021-09-13 15:24:35 +02:00
lantiq kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
layerscape kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
malta
mediatek kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
mpc85xx mpc85xx: add missing Kconfig symbols 2021-07-13 22:19:23 +02:00
mvebu mvebu: move upstreamed DTS files (ESPRESSObin) to files-5.4 2022-07-03 20:01:47 +02:00
mxs
octeon kernel: bump 5.4 to 5.4.179 2022-02-12 19:41:39 +01:00
octeontx kernel: bump 5.4 to 5.4.179 2022-02-12 19:41:39 +01:00
omap
oxnas kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
pistachio
ramips kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
realtek kernel: bump 5.4 to 5.4.163 2021-12-12 20:08:17 +01:00
rockchip rockchip: fix broken squashfs sysupgrade 2021-09-24 12:29:22 +02:00
sunxi sunxi: cortexa7: fix ethernet link detection on a20-olinuxino-lime2 2022-03-24 09:40:12 +01:00
tegra
uml
x86 kernel: Remove kmod-crypto-lib-blake2s 2022-07-04 01:35:37 +02:00
zynq
Makefile