fff-network: add packet_steering option to enable RPS #157
No reviewers
Labels
No Label
RFC
RFT
WIP
blocked
bsp
bug
build/scripts/tools
duplicate
feature
fixed
layer3
mantis
more details required
needs changes
node
packages/fff
rejected
security
trivial
upstream
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: freifunk-franken/firmware#157
Loading…
Reference in New Issue
No description provided.
Delete Branch "fbl:packetsteering"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Receive packet steering (RPS) is a linux feature to improve forwarding
performance by distributing the forwarding of packets across multiple
cpus. This is necessary for network devices which have less queues than
cpu cores.
OpenWrt allows to enable RPS easily by setting the global option
'packet_steering' in the network configuration. With earlier OpenWrt
versions this option was enabled by default. However, the default value
was changed with OpenWrt 21.02.
Enable this option agian to improve forwarding performance on routers
with multiple cpu cores.
Signed-off-by: Fabian Bläse fabian@blaese.de
Müsste um diese Änderung gehen: https://github.com/openwrt/openwrt/pull/2553
Das wurde scheinbar gemacht, weil bei einigen Kisten RPS wohl mehr schadet als hilft. Wie sicher sind wir uns, dass das allen von uns unterstützten Geräten hilft? Ich selbst hab RPS nur mit den edgeroutern getestet und da hilfts definitiv.
Andererseits stellt das nur wieder das Verhalten von vorher her. Sollten wir einzelne Geräte finden, die besser ohne RPS funktionieren, können wir es immernoch geräteabhängig abschalten.
Reviewed-by: Johannes Kimmel <fff@bareminimum.eu>
Genau um diese Änderung gehts. Gleichzeitig wurde auch entfernt, dass die Interrupt-CPU von den rps_cpus augeschlossen wird. Hat aber tatsächlich kaum einen relevanten Performance-Unterschied gemacht.
Der größte Teil unserer Geräte hat afaik sowieso nur einen Kern, in so fern dürfte das sowieso fast egal sein. Und beim EdgeRouter X macht es einen relativ signifikanten Unterschied.
Macht es unter diesen Umständen vielleicht Sinn, die Wahl den User zu lassen ob er es möchte? Sprich eine Option in /etc/config/gateway einführen wo es ein User bewusst anschalten kann?
Ich selbst kann es gar nicht einschätzen aber da hier so Sätze fallen wie "Das wurde scheinbar gemacht, weil bei einigen Kisten RPS wohl mehr schadet als hilft." ist es vielleicht nicht schlau das jetzt einfach hart überall anzuschalten und in 4 Wochen merken wir oh dieser und dieser und dieser sollte es doch besser aus haben und wir rollen wieder alles zurück.
Ich denke nicht, dass dies etwas ist, was für einen Nutzer der Firmware in irgendeiner Form interessant ist.
Das ganze dürfte eigentlich nur Geräte mit NUMA, heterogenen CPUs oder RSS-fähigem Ethernet betreffen. Sollten wir in Zukunft tatsächlich Geräte unterstützen, bei denen RPS mehr schadet, als es hilft, können wir diese Einstellung target-, subtarget- oder gerätespezifisch anwenden.
merged.
Pull request closed