mbox series

[net-next,v4,0/3] use standard sysctl macro

Message ID 20220422070141.39397-1-xiangxia.m.yue@gmail.com (mailing list archive)
Headers show
Series use standard sysctl macro | expand

Message

Tonghao Zhang April 22, 2022, 7:01 a.m. UTC
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>

This patchset introduce sysctl macro or replace var
with macro.

Tonghao Zhang (3):
  net: sysctl: use shared sysctl macro
  net: sysctl: introduce sysctl SYSCTL_THREE
  selftests/sysctl: add sysctl macro test

 fs/proc/proc_sysctl.c                    |  2 +-
 include/linux/sysctl.h                   |  9 ++---
 lib/test_sysctl.c                        | 21 ++++++++++++
 net/core/sysctl_net_core.c               | 13 +++----
 net/ipv4/sysctl_net_ipv4.c               | 16 ++++-----
 net/ipv6/sysctl_net_ipv6.c               |  6 ++--
 net/netfilter/ipvs/ip_vs_ctl.c           |  4 +--
 tools/testing/selftests/sysctl/sysctl.sh | 43 ++++++++++++++++++++++++
 8 files changed, 84 insertions(+), 30 deletions(-)

Comments

Luis Chamberlain April 22, 2022, 2:44 p.m. UTC | #1
On Fri, Apr 22, 2022 at 03:01:38PM +0800, xiangxia.m.yue@gmail.com wrote:
> From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> 
> This patchset introduce sysctl macro or replace var
> with macro.
> 
> Tonghao Zhang (3):
>   net: sysctl: use shared sysctl macro
>   net: sysctl: introduce sysctl SYSCTL_THREE
>   selftests/sysctl: add sysctl macro test

I see these are based on net-next, to avoid conflicts with
sysctl development this may be best based on sysctl-next
though. Jakub?

  Luis
Jakub Kicinski April 22, 2022, 7:43 p.m. UTC | #2
On Fri, 22 Apr 2022 07:44:12 -0700 Luis Chamberlain wrote:
> On Fri, Apr 22, 2022 at 03:01:38PM +0800, xiangxia.m.yue@gmail.com wrote:
> > From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> > 
> > This patchset introduce sysctl macro or replace var
> > with macro.
> > 
> > Tonghao Zhang (3):
> >   net: sysctl: use shared sysctl macro
> >   net: sysctl: introduce sysctl SYSCTL_THREE
> >   selftests/sysctl: add sysctl macro test  
> 
> I see these are based on net-next, to avoid conflicts with
> sysctl development this may be best based on sysctl-next
> though. Jakub?

I guess the base should be whatever we are going to use as
a base for a branch, the branch we can both pull in?

How many patches like that do you see flying around, tho?
I feel like I've seen at least 3 - netfilter, net core and bpf.
It's starting to feel like we should have one patch that adds all 
the constants and self test, put that in a branch anyone can pull in,
and then do the conversions in separate patches..

Option number two - rename the statics in the subsystems to SYSCTL_x,
and we can do a much smaller cleanup in the next cycle which would
replace those with a centralized instances? That should have minimal
chance of conflicts so no need to do special branches.

Option number three defer all this until the merge window.
Luis Chamberlain April 25, 2022, 7:47 p.m. UTC | #3
On Fri, Apr 22, 2022 at 12:43:40PM -0700, Jakub Kicinski wrote:
> On Fri, 22 Apr 2022 07:44:12 -0700 Luis Chamberlain wrote:
> > On Fri, Apr 22, 2022 at 03:01:38PM +0800, xiangxia.m.yue@gmail.com wrote:
> > > From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> > > 
> > > This patchset introduce sysctl macro or replace var
> > > with macro.
> > > 
> > > Tonghao Zhang (3):
> > >   net: sysctl: use shared sysctl macro
> > >   net: sysctl: introduce sysctl SYSCTL_THREE
> > >   selftests/sysctl: add sysctl macro test  
> > 
> > I see these are based on net-next, to avoid conflicts with
> > sysctl development this may be best based on sysctl-next
> > though. Jakub?
> 
> I guess the base should be whatever we are going to use as
> a base for a branch, the branch we can both pull in?
> 
> How many patches like that do you see flying around, tho?
> I feel like I've seen at least 3 - netfilter, net core and bpf.
> It's starting to feel like we should have one patch that adds all 
> the constants and self test, put that in a branch anyone can pull in,
> and then do the conversions in separate patches..
> 
> Option number two - rename the statics in the subsystems to SYSCTL_x,
> and we can do a much smaller cleanup in the next cycle which would
> replace those with a centralized instances? That should have minimal
> chance of conflicts so no need to do special branches.
> 
> Option number three defer all this until the merge window.

I have a better option. I checked to see the diff stat between
the proposed patch to see what the chances of a conflict are
and so far I don't see any conflict so I think this patchset
should just go through your tree.

So feel free to take it in! Let me know if that's OK!

The proposed pathset diffstat:

  fs/proc/proc_sysctl.c                    |  2 +-
  include/linux/sysctl.h                   |  9 ++---
  lib/test_sysctl.c                        | 21 ++++++++++++
  net/core/sysctl_net_core.c               | 13 +++----
  net/ipv4/sysctl_net_ipv4.c               | 16 ++++-----
  net/ipv6/sysctl_net_ipv6.c               |  6 ++--
  net/netfilter/ipvs/ip_vs_ctl.c           |  4 +--
  tools/testing/selftests/sysctl/sysctl.sh | 43 ++++++++++++++++++++++++
  8 files changed, 84 insertions(+), 30 deletions(-)

The sysctl-next diff stat:

 fs/proc/proc_sysctl.c        |  88 ++++++-----
 include/linux/acct.h         |   1 -
 include/linux/delayacct.h    |   3 -
 include/linux/ftrace.h       |   3 -
 include/linux/initrd.h       |   2 -
 include/linux/latencytop.h   |   3 -
 include/linux/lockdep.h      |   4 -
 include/linux/oom.h          |   4 -
 include/linux/panic.h        |   6 -
 include/linux/reboot.h       |   4 -
 include/linux/sched/sysctl.h |  41 -----
 include/linux/writeback.h    |  15 --
 init/do_mounts_initrd.c      |  22 ++-
 kernel/acct.c                |  22 ++-
 kernel/bpf/syscall.c         |  87 ++++++++++
 kernel/delayacct.c           |  22 ++-
 kernel/latencytop.c          |  41 +++--
 kernel/locking/lockdep.c     |  35 ++++-
 kernel/panic.c               |  26 ++-
 kernel/rcu/rcu.h             |   2 +
 kernel/reboot.c              |  34 +++-
 kernel/sched/core.c          |  69 +++++---
 kernel/sched/deadline.c      |  42 ++++-
 kernel/sched/fair.c          |  32 +++-
 kernel/sched/rt.c            |  63 +++++++-
 kernel/sched/sched.h         |   7 +
 kernel/sched/topology.c      |  25 ++-
 kernel/sysctl.c              | 366 -------------------------------------------
 kernel/trace/ftrace.c        | 101 +++++++-----
 mm/oom_kill.c                |  38 ++++-
 mm/page-writeback.c          | 104 ++++++++++--
 31 files changed, 718 insertions(+), 594 deletions(-)

   Luis
Jakub Kicinski April 25, 2022, 7:56 p.m. UTC | #4
On Mon, 25 Apr 2022 12:47:06 -0700 Luis Chamberlain wrote:
> I have a better option. I checked to see the diff stat between
> the proposed patch to see what the chances of a conflict are
> and so far I don't see any conflict so I think this patchset
> should just go through your tree.
> 
> So feel free to take it in! Let me know if that's OK!

Ok, assuming the netfilter and bpf patches I saw were the only other
conversions we can resolve the conflicts before code reaches Linus...
Luis Chamberlain April 25, 2022, 8:53 p.m. UTC | #5
On Mon, Apr 25, 2022 at 12:56:44PM -0700, Jakub Kicinski wrote:
> On Mon, 25 Apr 2022 12:47:06 -0700 Luis Chamberlain wrote:
> > I have a better option. I checked to see the diff stat between
> > the proposed patch to see what the chances of a conflict are
> > and so far I don't see any conflict so I think this patchset
> > should just go through your tree.
> > 
> > So feel free to take it in! Let me know if that's OK!
> 
> Ok, assuming the netfilter and bpf patches I saw were the only other
> conversions we can resolve the conflicts before code reaches Linus...

Sure thing.

  Luis