Re: [PATCH net-next 0/4] net-sysfs: remove the rtnl_trylock/restart_syscall construction
flat view
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2025-01-22 08:50:27
Hi Antoine, On Fri, 17 Jan 2025 11:26:07 +0100 Antoine Tenart [off-list ref] wrote:
Hi, 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 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 call [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. Thanks, Antoine [1] https://lore.kernel.org/all/20231018154804.420823-1-atenart@kernel.org/T/ (local)
Thanks for that work, it looks like this would address this problem faced recently by Christophe (in CC) : https://lore.kernel.org/netdev/d416a14ec38c7ba463341b83a7a9ec6ccc435246.1734419614.git.christophe.leroy@csgroup.eu/ (local) Thanks, Maxime