[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f7t5xa7anvk.fsf@redhat.com>
Date: Mon, 15 Dec 2025 08:14:07 -0500
From: Aaron Conole <aconole@...hat.com>
To: Toke Høiland-Jørgensen <toke@...hat.com>
Cc: Eelco Chaudron <echaudro@...hat.com>, Ilya Maximets
<i.maximets@....org>, Alexei Starovoitov <ast@...nel.org>, Jesse Gross
<jesse@...ira.com>, Adrian Moreno <amorenoz@...hat.com>, "David S.
Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub
Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon
Horman <horms@...nel.org>, netdev@...r.kernel.org, dev@...nvswitch.org
Subject: Re: [PATCH v2] net: openvswitch: Avoid needlessly taking the RTNL
on vport destroy
Toke Høiland-Jørgensen <toke@...hat.com> writes:
> The openvswitch teardown code will immediately call
> ovs_netdev_detach_dev() in response to a NETDEV_UNREGISTER notification.
> It will then start the dp_notify_work workqueue, which will later end up
> calling the vport destroy() callback. This callback takes the RTNL to do
> another ovs_netdev_detach_port(), which in this case is unnecessary.
> This causes extra pressure on the RTNL, in some cases leading to
> "unregister_netdevice: waiting for XX to become free" warnings on
> teardown.
>
> We can straight-forwardly avoid the extra RTNL lock acquisition by
> checking the device flags before taking the lock, and skip the locking
> altogether if the IFF_OVS_DATAPATH flag has already been unset.
>
> Fixes: b07c26511e94 ("openvswitch: fix vport-netdev unregister")
> Tested-by: Adrian Moreno <amorenoz@...hat.com>
> Signed-off-by: Toke Høiland-Jørgensen <toke@...hat.com>
> ---
LGTM,
Acked-by: Aaron Conole <aconole@...hat.com>
Powered by blists - more mailing lists