mbox series

[v2,0/4] cleaning up the sysctls table (hung_task watchdog)

Message ID 1589619315-65827-1-git-send-email-nixiaoming@huawei.com (mailing list archive)
Headers show
Series cleaning up the sysctls table (hung_task watchdog) | expand

Message

Xiaoming Ni May 16, 2020, 8:55 a.m. UTC
Kernel/sysctl.c contains more than 190 interface files, and there are a 
large number of config macro controls. When modifying the sysctl 
interface directly in kernel/sysctl.c, conflicts are very easy to occur.
E.g: https://lkml.org/lkml/2020/5/10/413.

Use register_sysctl() to register the sysctl interface to avoid
merge conflicts when different features modify sysctl.c at the same time.

So consider cleaning up the sysctls table, details are in:
	https://kernelnewbies.org/KernelProjects/proc
	https://lkml.org/lkml/2020/5/13/990

The current patch set extracts register_sysctl_init and some sysctl_vals
variables, and clears the interface of hung_task and watchdog in sysctl.c.

changes in v2:
  1. Adjusted the order of patches, first do public function
     extraction, then do feature code movement
  2. Move hung_task sysctl to hung_task.c instead of adding new file
  3. Extract multiple common variables instead of only neg_one, and keep
     the order of member values in sysctl_vals
  4. Add const modification to the variable sixty in watchdog sysctl

V1: https://lkml.org/lkml/2020/5/15/17

Xiaoming Ni (4):
  sysctl: Add register_sysctl_init() interface
  sysctl: Move some boundary constants form sysctl.c to sysctl_vals
  hung_task: Move hung_task sysctl interface to hung_task.c
  watchdog: move watchdog sysctl interface to watchdog.c

 fs/proc/proc_sysctl.c        |   2 +-
 include/linux/sched/sysctl.h |   8 +-
 include/linux/sysctl.h       |  13 ++-
 kernel/hung_task.c           |  63 +++++++++++++-
 kernel/sysctl.c              | 202 ++++++++-----------------------------------
 kernel/watchdog.c            | 101 ++++++++++++++++++++++
 6 files changed, 210 insertions(+), 179 deletions(-)