On 3/31/21 1:08 AM, Eric Dumazet wrote:
On Tue, Mar 30, 2021 at 6:02 PM Taehee Yoo [off-list ref] wrote:
quoted
On 3/31/21 12:40 AM, Eric Dumazet wrote:
> This seems a serious regression compared to old code (in net tree)
>
> Have you added RTNL requirement in all this code ?
>
> We would like to use RTNL only if strictly needed.
Yes, I agree with you.
This patchset actually relies on existed RTNL, which is
setsockopt_needs_rtnl().
And remained RTNL was replaced by mc_lock.
So, this patchset actually doesn't add new RTNL except in this case.
Fortunately, I think It can be replaced by RCU because,
1. ip6_mc_msfget() doesn't need the sleepable functions.
2. It is not the write critical section.
So, RCU can be used instead of RTNL for ip6_mc_msfget().
How do you think about it?
Yes please, do not add RTNL here if we can avoid it.
Okay, I will send a new patch.
Otherwise some applications will slow down the whole stack, even with
different containers/netns.
(There is a single RTNL for the whole machine)
Thanks a lot for the review!