Merge branch 'net-introduce-rps_default_mask'
authorJakub Kicinski <kuba@kernel.org>
Fri, 10 Feb 2023 01:45:57 +0000 (17:45 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Feb 2023 01:45:57 +0000 (17:45 -0800)
commit2894d3530948acd30f2cc5366728a6967fc6569f
treea408253f02823f66dc55b29f1ba5b085ee7b1666
parent8697a258ae24703267d2a37d91ab757c91ef027e
parentc12e0d5f267d7eb45a2f8eaa9fd44eaa2871a95e
Merge branch 'net-introduce-rps_default_mask'

Paolo Abeni says:

====================
net: introduce rps_default_mask

Real-time setups try hard to ensure proper isolation between time
critical applications and e.g. network processing performed by the
network stack in softirq and RPS is used to move the softirq
activity away from the isolated core.

If the network configuration is dynamic, with netns and devices
routinely created at run-time, enforcing the correct RPS setting
on each newly created device allowing to transient bad configuration
became complex.

Additionally, when multi-queue devices are involved, configuring rps
in user-space on each queue easily becomes very expensive, e.g.
some setups use veths with per cpu queues.

These series try to address the above, introducing a new
sysctl knob: rps_default_mask. The new sysctl entry allows
configuring a netns-wide RPS mask, to be enforced since receive
queue creation time without any fourther per device configuration
required.

Additionally, a simple self-test is introduced to check the
rps_default_mask behavior.
====================

Link: https://lore.kernel.org/r/cover.1675789134.git.pabeni@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>