Files
linux/include/net
Eric Dumazet 84a7d6797e net/sched: acp_api: no longer acquire RTNL in tc_action_net_exit()
tc_action_net_exit() got an rtnl exclusion in commit
a159d3c4b8 ("net_sched: acquire RTNL in tc_action_net_exit()")

Since then, commit 16af606739 ("net: sched: implement reference
counted action release") made this RTNL exclusion obsolete for
most cases.

Only tcf_action_offload_del() might still require it.

Move the rtnl locking into tcf_idrinfo_destroy() when
an offload action is found.

Most netns do not have actions, yet deleting them is adding a lot
of pressure on RTNL, which is for many the most contended mutex
in the kernel.

We are moving to a per-netns 'rtnl', so tc_action_net_exit()
will not be able to grab 'rtnl' a single time for a batch of netns.

Before the patch:

perf probe -a rtnl_lock

perf record -e probe:rtnl_lock -a /bin/bash -c 'unshare -n "/bin/true"; sleep 1'
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.305 MB perf.data (25 samples) ]

After the patch:

perf record -e probe:rtnl_lock -a /bin/bash -c 'unshare -n "/bin/true"; sleep 1'
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.304 MB perf.data (9 samples) ]

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Vlad Buslov <vladbu@nvidia.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Link: https://patch.msgid.link/20250702071230.1892674-1-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-07-08 13:00:24 +02:00
..
2024-10-08 15:33:49 -07:00
2024-12-09 14:44:59 -08:00
2025-05-27 18:18:55 -07:00
2025-06-25 15:28:08 -07:00
2025-01-20 12:16:04 -08:00
2025-04-24 17:03:45 -07:00
2025-03-24 10:26:53 +00:00
2022-08-09 22:14:02 -07:00
2024-05-08 10:35:09 +01:00
2024-08-26 09:37:23 -07:00
2024-11-13 18:49:50 -08:00
2024-08-26 09:37:23 -07:00
2024-05-07 01:35:55 +02:00
2024-08-26 09:37:23 -07:00
2021-10-15 11:33:08 +01:00
2024-02-28 11:19:41 +00:00
2025-07-02 14:32:30 -07:00
2023-04-22 01:39:41 +02:00
2024-12-06 17:43:08 -08:00
2021-10-13 09:40:46 -07:00
2024-08-26 09:37:23 -07:00
2025-07-08 12:39:24 +02:00
2025-04-15 08:21:46 -07:00
2024-08-12 17:23:57 -07:00
2023-07-14 20:39:30 -07:00
2024-08-26 09:37:23 -07:00
2024-08-26 09:37:23 -07:00
2025-06-27 15:34:19 -07:00
2025-04-11 18:58:10 -07:00
2025-04-11 18:58:10 -07:00
2024-05-30 18:29:38 -07:00
2024-05-30 18:29:38 -07:00
2025-06-23 17:05:12 -07:00
2023-10-04 11:49:20 -07:00
2024-07-08 14:07:31 -07:00
2024-05-09 20:25:55 -07:00
2023-07-28 14:07:59 -07:00
2022-12-12 15:04:39 -08:00
2023-09-14 16:16:36 +02:00
2024-08-26 09:37:23 -07:00