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 kernel: delete Linux 5.4 config and patches 2022-03-21 11:36:30 +00:00
armvirt armvirt: 64: enable driver for QEMU' supported watchdog 2022-05-07 14:31:21 +02:00
at91 kernel: bump 5.10 to 5.10.118 2022-06-06 19:20:02 +02:00
ath25 kernel: bump 5.10 to 5.10.120 2022-06-06 19:20:02 +02:00
ath79 ath79: support for TP-Link EAP225-Outdoor v3 2022-06-22 17:47:11 +02:00
bcm27xx kernel: bump 5.15 to 5.15.45 2022-06-06 19:20:28 +02:00
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 bcm63xx: add linux v5.15 support 2022-05-20 15:53:16 +02:00
bcm4908 kernel: bump 5.10 to 5.10.117 2022-06-06 19:20:02 +02:00
bmips kernel: bump 5.15 to 5.15.42 2022-06-06 19:20:28 +02:00
gemini gemini: Bump kernel to v5.15 2022-04-14 10:12:34 +02:00
generic kernel: drop patch adding hardcoded kernel compilation flags 2022-06-20 22:17:38 +02:00
imx kernel: bump 5.15 to 5.15.32 2022-04-09 19:31:46 +02:00
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 kirkwood: set testing kernel version to 5.15 2022-05-01 13:40:13 +09:00
lantiq lantiq: dts: fix reset controller reference on Danube and AR9 2022-06-20 19:43:33 +02:00
layerscape layerscape/armv8_64b: enable armv8-CE crypto algos 2022-06-04 12:39:01 +02:00
malta malta: use default OpenWrt network configuration 2022-05-28 17:35:34 +02:00
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 kernel: move some symbols to generic config 2022-04-09 19:31:46 +02:00
octeon octeon: add SUPPORTED_DEVICES to er/erlite 2022-06-09 17:14:28 +02:00
octeontx octeontx: add armv8-CE version of CRC T10 2022-06-04 12:39:01 +02:00
omap config: limit CONFIG_DEBUG_INFO to top-level generic configs 2022-05-18 13:32:06 +03:00
oxnas kernel: bump 5.10 to 5.10.116 2022-06-06 19:20:02 +02:00
pistachio kernel: bump 5.10 to 5.10.95 2022-02-01 23:34:07 +00:00
qoriq qoriq: use FIT uImage for Firebox M300 kernel 2022-06-14 12:06:31 +03:00
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 sunxi/cortexa53: enable armv8-CE crypto algorithms 2022-06-04 12:39:01 +02:00
tegra kernel: delete Linux 5.4 config and patches 2022-03-21 11:36:30 +00:00
uml uml: make use of 'rootfs-part' feature 2022-01-23 19:48:31 +00:00
x86 kernel/x86: move x86' specific watchdogs to the x86 target 2022-05-07 14:31:22 +02:00
zynq kernel: delete Linux 5.4 config and patches 2022-03-21 11:36:30 +00:00
Makefile