diff options
author | Jakub Kicinski <kuba@kernel.org> | 2025-02-05 17:49:10 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-02-05 17:49:11 -0800 |
commit | fadbe52b3b00df75a03c3c460184ad51098012be (patch) | |
tree | 8f11d52d9fbbe0e91e44a37b688585bf0e35bfbf /scripts/generate_rust_analyzer.py | |
parent | 0bea93fdbaf8675b7e8124bdcaf51497dcc8bcfa (diff) | |
parent | b0b6fcfa6ad8433e22b050c72cfbeec2548744b9 (diff) |
Merge branch 'net-sysfs-remove-the-rtnl_trylock-restart_syscall-construction'
Antoine Tenart says:
====================
net-sysfs: remove the rtnl_trylock/restart_syscall construction
The series initially aimed at improving spins (and thus delays) while
accessing net sysfs under rtnl lock contention[1]. The culprit was the
trylock/restart_syscall constructions. There wasn't much interest at the
time but it got traction recently for other reasons (lowering the rtnl
lock pressure).
Since v1[2]:
- Do not export rtnl_lock_interruptible [Stephen].
- Add netdev_warn_once messages in rx_queue_add_kobject [Jakub].
Since the RFC[1]:
- Limit the breaking of the sysfs protection to sysfs_rtnl_lock() only
as this is not needed in the whole rtnl locking section thanks to the
additional check on dev_isalive(). This simplifies error handling as
well as the unlocking path.
- Used an interruptible version of rtnl_lock, as done by Jakub in
his experiments.
- Removed a WARN_ONCE_ONCE [Greg].
- Removed explicit inline markers [Stephen].
Most of the reasoning is explained in comments added in patch 1. This
was tested by stress-testing net sysfs attributes (read/write ops) while
adding/removing queues and adding/removing veths, all in parallel. I
also used an OCP single node cluster, spawning lots of pods.
[1] https://lore.kernel.org/all/20231018154804.420823-1-atenart@kernel.org/T/
[2] https://lore.kernel.org/all/20250117102612.132644-1-atenart@kernel.org/T/
====================
Link: https://patch.msgid.link/20250204170314.146022-1-atenart@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions