openwrt/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 arc770: set device vendor and model variables 2021-05-26 23:36:40 +02:00
archs38 kernel: Add missing kernel config options 2021-09-13 18:49:15 +02:00
armvirt kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
at91 treewide: make AddDepends/usb-serial selective 2021-06-08 22:50:32 +02:00
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 bcm47xx: make WGT634U NVRAM patch apply again 2021-03-17 23:38:46 +01:00
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 kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
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 target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
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 target: use SPDX license identifiers on scripts 2021-02-10 15:47:23 +01:00
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 kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
oxnas kernel: bump 5.4 to 5.4.203 2022-07-03 19:58:31 +02:00
pistachio kernel: add pending mtd patches adding NVMEM support 2021-03-17 21:24:22 +01:00
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 kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
uml target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
x86 kernel: Remove kmod-crypto-lib-blake2s 2022-07-04 01:35:37 +02:00
zynq kernel: move some disabled symbols to generic 2021-04-11 16:54:22 +02:00
Makefile target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00