mbox series

[net-next,0/8] mld: change context from atomic to sleepable

Message ID 20210208175010.4664-1-ap420073@gmail.com (mailing list archive)
Headers show
Series mld: change context from atomic to sleepable | expand

Message

Taehee Yoo Feb. 8, 2021, 5:50 p.m. UTC
This patchset changes context of MLD module.
Before this patch, MLD functions are atomic context so it couldn't use
sleepable functions and flags.
This patchset also contains other refactoring patches, which is to use
list macro, etc.

1~3 and 5~7 are refactoring patches and 4 and 8 patches actually
change context, which is the actual goal of this patchset.
MLD module has used timer API. The timer expiration function is
processed as the atomic context so in order to change context,
it should be replaced.
So, The fourth patch is to switch from timer to delayed_work.
And the eighth patch is to use the mutex instead of spinlock and
rwlock because A critical section of spinlock and rwlock is atomic.

Taehee Yoo (8):
  mld: convert ifmcaddr6 to list macros
  mld: convert ip6_sf_list to list macros
  mld: use mca_{get | put} instead of refcount_{dec | inc}
  mld: convert from timer to delayed work
  mld: rename igmp6 to mld
  mld: convert ipv6_mc_socklist to list macros
  mld: convert ip6_sf_socklist to list macros
  mld: change context of mld module

 .../chelsio/inline_crypto/chtls/chtls_cm.c    |    1 +
 drivers/s390/net/qeth_l3_main.c               |    6 +-
 include/linux/ipv6.h                          |    2 +-
 include/net/if_inet6.h                        |   69 +-
 include/net/ndisc.h                           |   14 +-
 include/uapi/linux/in.h                       |    4 +-
 net/batman-adv/multicast.c                    |    4 +-
 net/dccp/ipv6.c                               |    4 +-
 net/ipv6/addrconf.c                           |    9 +-
 net/ipv6/addrconf_core.c                      |    3 +-
 net/ipv6/af_inet6.c                           |   13 +-
 net/ipv6/icmp.c                               |    4 +-
 net/ipv6/mcast.c                              | 2243 +++++++++--------
 net/ipv6/tcp_ipv6.c                           |    4 +-
 net/sctp/ipv6.c                               |    2 +-
 15 files changed, 1284 insertions(+), 1098 deletions(-)

Comments

Cong Wang Feb. 9, 2021, 1:50 a.m. UTC | #1
On Mon, Feb 8, 2021 at 9:50 AM Taehee Yoo <ap420073@gmail.com> wrote:
>
> This patchset changes context of MLD module.
> Before this patch, MLD functions are atomic context so it couldn't use
> sleepable functions and flags.
> This patchset also contains other refactoring patches, which is to use
> list macro, etc.
>
> 1~3 and 5~7 are refactoring patches and 4 and 8 patches actually
> change context, which is the actual goal of this patchset.
> MLD module has used timer API. The timer expiration function is
> processed as the atomic context so in order to change context,
> it should be replaced.
> So, The fourth patch is to switch from timer to delayed_work.
> And the eighth patch is to use the mutex instead of spinlock and
> rwlock because A critical section of spinlock and rwlock is atomic.

Thanks for working on this.

A quick question: are those cleanup or refactoring patches necessary
for the main patch, that is patch 4? If not, please consider separating
patch 4 and patch 8 out, as they fix a bug so they are different from
the others.

Thanks!
Taehee Yoo Feb. 9, 2021, 2:17 a.m. UTC | #2
On Tue, 9 Feb 2021 at 10:50, Cong Wang <xiyou.wangcong@gmail.com> wrote:
>

Hi Cong!
Thank you for your review.

> On Mon, Feb 8, 2021 at 9:50 AM Taehee Yoo <ap420073@gmail.com> wrote:
> >
> > This patchset changes context of MLD module.
> > Before this patch, MLD functions are atomic context so it couldn't use
> > sleepable functions and flags.
> > This patchset also contains other refactoring patches, which is to use
> > list macro, etc.
> >
> > 1~3 and 5~7 are refactoring patches and 4 and 8 patches actually
> > change context, which is the actual goal of this patchset.
> > MLD module has used timer API. The timer expiration function is
> > processed as the atomic context so in order to change context,
> > it should be replaced.
> > So, The fourth patch is to switch from timer to delayed_work.
> > And the eighth patch is to use the mutex instead of spinlock and
> > rwlock because A critical section of spinlock and rwlock is atomic.
>
> Thanks for working on this.
>
> A quick question: are those cleanup or refactoring patches necessary
> for the main patch, that is patch 4? If not, please consider separating
> patch 4 and patch 8 out, as they fix a bug so they are different from
> the others.
>

You're right, this patchset contains many unnecessary changes.
So I will send a v2 patch, which contains only the necessary changes.
And target branch will be 'net', not 'net-next'.

Thanks a lot for the suggestions and review!
Taehee Yoo

> Thanks!
Cong Wang Feb. 9, 2021, 5:31 a.m. UTC | #3
On Mon, Feb 8, 2021 at 6:17 PM Taehee Yoo <ap420073@gmail.com> wrote:
> You're right, this patchset contains many unnecessary changes.
> So I will send a v2 patch, which contains only the necessary changes.
> And target branch will be 'net', not 'net-next'.

Just to be clear: this is up to you. I am not suggesting they should
target 'net', I am fine with 'net' or 'net-next'. All I suggest is to split
them.

Thanks!
Taehee Yoo Feb. 9, 2021, 8:09 a.m. UTC | #4
On Tue, 9 Feb 2021 at 14:31, Cong Wang <xiyou.wangcong@gmail.com> wrote:
>
> On Mon, Feb 8, 2021 at 6:17 PM Taehee Yoo <ap420073@gmail.com> wrote:
> > You're right, this patchset contains many unnecessary changes.
> > So I will send a v2 patch, which contains only the necessary changes.
> > And target branch will be 'net', not 'net-next'.
>
> Just to be clear: this is up to you. I am not suggesting they should
> target 'net', I am fine with 'net' or 'net-next'. All I suggest is to split
> them.
>
> Thanks!

Okay, I understand.
Thanks!

Taehee Yoo