[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1589859071-25898-1-git-send-email-nixiaoming@huawei.com>
Date: Tue, 19 May 2020 11:31:07 +0800
From: Xiaoming Ni <nixiaoming@...wei.com>
To: <mcgrof@...nel.org>, <keescook@...omium.org>, <yzaikin@...gle.com>,
<adobriyan@...il.com>, <mingo@...nel.org>, <nixiaoming@...wei.com>,
<gpiccoli@...onical.com>, <rdna@...com>, <patrick.bellasi@....com>,
<sfr@...b.auug.org.au>, <akpm@...ux-foundation.org>,
<mhocko@...e.com>, <penguin-kernel@...ove.sakura.ne.jp>,
<vbabka@...e.cz>, <tglx@...utronix.de>, <peterz@...radead.org>,
<Jisheng.Zhang@...aptics.com>, <khlebnikov@...dex-team.ru>,
<bigeasy@...utronix.de>, <pmladek@...e.com>,
<linux-kernel@...r.kernel.org>, <linux-fsdevel@...r.kernel.org>
CC: <wangle6@...wei.com>, <alex.huangjianhui@...wei.com>
Subject: [PATCH v4 0/4] cleaning up the sysctls table (hung_task watchdog)
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://lore.kernel.org/lkml/99095805-8cbe-d140-e2f1-0c5a3e84d7e7@huawei.com/
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://lore.kernel.org/lkml/20200513141421.GP11244@42.do-not-panic.com/#t
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.
The current patch set is based on linux-next, commit 72bc15d0018ebfbc9
("Add linux-next specific files for 20200518").
changes in v4:
Handle the conflict with the commit d4ee116819ed714f ("kernel/hung_task.c:
introduce sysctl to print all traces when a hung task is detected"),
move the sysctl interface hung_task_all_cpu_backtrace to hung_task.c.
V3: https://lore.kernel.org/lkml/1589774397-42485-1-git-send-email-nixiaoming@huawei.com/
base on commit b9bbe6ed63b2b9 ("Linux 5.7-rc6")
changes in v3:
1. make hung_task_timeout_max to be const
2. fix build warning:
kernel/watchdog.c:779:14: warning: initialization discards 'const'
qualifier from pointer target type [-Wdiscarded-qualifiers]
.extra2 = &sixty,
^
V2: https://lore.kernel.org/lkml/1589619315-65827-1-git-send-email-nixiaoming@huawei.com/
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://lore.kernel.org/lkml/1589517224-123928-1-git-send-email-nixiaoming@huawei.com/
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 | 14 +--
include/linux/sysctl.h | 13 ++-
kernel/hung_task.c | 77 +++++++++++++++-
kernel/sysctl.c | 214 +++++++------------------------------------
kernel/watchdog.c | 101 ++++++++++++++++++++
6 files changed, 224 insertions(+), 197 deletions(-)
--
1.8.5.6
Powered by blists - more mailing lists