[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <921affaf-9fe8-c79f-8ee0-e59e1930d35d@gmail.com>
Date: Sun, 14 Feb 2021 20:30:08 +0900
From: Taehee Yoo <ap420073@...il.com>
To: Cong Wang <xiyou.wangcong@...il.com>
Cc: David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
jwi@...ux.ibm.com, kgraul@...ux.ibm.com, hca@...ux.ibm.com,
gor@...ux.ibm.com, borntraeger@...ibm.com,
Marek Lindner <mareklindner@...mailbox.ch>,
sw@...onwunderlich.de, a@...table.cc, sven@...fation.org,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
dsahern@...nel.org, ap420073@...il.com
Subject: Re: [PATCH net-next v2 3/7] mld: add a new delayed_work,
mc_delrec_work
On 21. 2. 14. 오전 4:18, Cong Wang wrote:
> On Sat, Feb 13, 2021 at 9:52 AM Taehee Yoo <ap420073@...il.com> wrote:
>>
>> The goal of mc_delrec_work delayed work is to call mld_clear_delrec().
>> The mld_clear_delrec() is called under both data path and control path.
>> So, the context of mld_clear_delrec() can be atomic.
>> But this function accesses struct ifmcaddr6 and struct ip6_sf_list.
>> These structures are going to be protected by RTNL.
>> So, this function should be called in a sleepable context.
>
> Hmm, but with this patch mld_clear_delrec() is called asynchronously
> without waiting, is this a problem? If not, please explain why in your
> changelog.
>
The mld_clear_delrec() is called when an mld v1 query is received or an
interface is down/destroyed.
The purpose of this function is to clear deleted records, which are not
used when an mld v1 query is received.
So, In the datapath, it has no problem.
Also it increases the refcount of idev so it has no problem when an
interface is down or destroyed.
I will include this description in the v3 patch.
Thanks!
> By the way, if you do not use a delay, you can just use regular work.
>
> Thanks.
>
Powered by blists - more mailing lists