From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E869C433EF for ; Tue, 15 Feb 2022 07:56:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 89F666B0078; Tue, 15 Feb 2022 02:56:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 84F016B007B; Tue, 15 Feb 2022 02:56:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 73D216B007D; Tue, 15 Feb 2022 02:56:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0087.hostedemail.com [216.40.44.87]) by kanga.kvack.org (Postfix) with ESMTP id 670916B0078 for ; Tue, 15 Feb 2022 02:56:20 -0500 (EST) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 235078F6D9 for ; Tue, 15 Feb 2022 07:56:20 +0000 (UTC) X-FDA: 79144256520.10.330EDE0 Received: from smtpbg516.qq.com (smtpbg516.qq.com [203.205.250.54]) by imf01.hostedemail.com (Postfix) with ESMTP id 9067540002 for ; Tue, 15 Feb 2022 07:56:18 +0000 (UTC) X-QQ-mid: bizesmtp37t1644911772txy5uk23 Received: from [10.4.23.202] (unknown [58.240.82.166]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 15 Feb 2022 15:56:11 +0800 (CST) X-QQ-SSF: 0040000000200080F000B00A0000000 X-QQ-FEAT: lIxNKhqxJQJFSBfAnOkzptGvYLzbTyW1p310EnczBKt6LSF3s7laRIx6HksYI xoQKpovljCvj0VcmoS9o94N9FT495PcocGQPTwAFNbOHeoG3J8LuVFacNRbJndOZzVl3Lo3 kbp8W+/KxAr7a5DAhW1oSgm+VdAMQqPtFrut8sXJCFMYDq4yPtXyFQADXdUBtLYs9Xg7tAi Pv3uGHfZ+aU6AZPXfRoTOHgUBaA99AdsRxzo3h1fFaIG6I4JdoxDm1LDZZqyoNrcaAMd8iD bKb94HBE0zJzJTAPpcmsNHgJiBi52y8mwWcQEMv0+6z2rJEyS1kP26IWACs1lYIDo0gowqc BGszQLsmEQS3HYN9xdwJjVfI8vdHwGaD7hht0RT X-QQ-GoodBg: 2 Message-ID: +57568BD5EB166B82 Date: Tue, 15 Feb 2022 15:56:10 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH] mm: move oom_kill sysctls to their own file To: Luis Chamberlain Cc: keescook@chromium.org, yzaikin@google.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org References: <20220215030257.11150-1-sujiaxun@uniontech.com> From: =?UTF-8?B?6IuP5a626K6t?= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:uniontech.com:qybgforeign:qybgforeign5 X-QQ-Bgrelay: 1 X-Rspamd-Queue-Id: 9067540002 X-Rspam-User: Authentication-Results: imf01.hostedemail.com; dkim=none; spf=pass (imf01.hostedemail.com: domain of sujiaxun@uniontech.com designates 203.205.250.54 as permitted sender) smtp.mailfrom=sujiaxun@uniontech.com; dmarc=none X-Stat-Signature: wikuax1bcce3mnwd147cig8os3rc8tkg X-Rspamd-Server: rspam03 X-HE-Tag: 1644911778-904238 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: =E5=9C=A8 2022/2/15 15:29, Luis Chamberlain =E5=86=99=E9=81=93: > On Tue, Feb 15, 2022 at 11:02:57AM +0800, sujiaxun wrote: >> kernel/sysctl.c is a kitchen sink where everyone leaves their dirty >> dishes, this makes it very difficult to maintain. >> >> To help with this maintenance let's start by moving sysctls to places >> where they actually belong. The proc sysctl maintainers do not want t= o >> know what sysctl knobs you wish to add for your own piece of code, we = just >> care about the core logic. >> >> So move the oom_kill sysctls to its own file. >> >> Signed-off-by: sujiaxun >> --- >> include/linux/oom.h | 4 ---- >> kernel/sysctl.c | 23 ----------------------- >> mm/oom_kill.c | 37 ++++++++++++++++++++++++++++++++++--- >> 3 files changed, 34 insertions(+), 30 deletions(-) >> >> diff --git a/include/linux/oom.h b/include/linux/oom.h >> index 2db9a1432511..02d1e7bbd8cd 100644 >> --- a/include/linux/oom.h >> +++ b/include/linux/oom.h >> @@ -123,8 +123,4 @@ extern void oom_killer_enable(void); >> >> extern struct task_struct *find_lock_task_mm(struct task_struct *p); >> >> -/* sysctls */ >> -extern int sysctl_oom_dump_tasks; >> -extern int sysctl_oom_kill_allocating_task; >> -extern int sysctl_panic_on_oom; >> #endif /* _INCLUDE_LINUX_OOM_H */ >> diff --git a/kernel/sysctl.c b/kernel/sysctl.c >> index 788b9a34d5ab..40d822fbb6d5 100644 >> --- a/kernel/sysctl.c >> +++ b/kernel/sysctl.c >> @@ -2352,29 +2352,6 @@ static struct ctl_table vm_table[] =3D { >> .extra1 =3D SYSCTL_ZERO, >> .extra2 =3D SYSCTL_TWO, >> }, >> - { >> - .procname =3D "panic_on_oom", >> - .data =3D &sysctl_panic_on_oom, >> - .maxlen =3D sizeof(sysctl_panic_on_oom), >> - .mode =3D 0644, >> - .proc_handler =3D proc_dointvec_minmax, >> - .extra1 =3D SYSCTL_ZERO, >> - .extra2 =3D SYSCTL_TWO, >> - }, >> - { >> - .procname =3D "oom_kill_allocating_task", >> - .data =3D &sysctl_oom_kill_allocating_task, >> - .maxlen =3D sizeof(sysctl_oom_kill_allocating_task), >> - .mode =3D 0644, >> - .proc_handler =3D proc_dointvec, >> - }, >> - { >> - .procname =3D "oom_dump_tasks", >> - .data =3D &sysctl_oom_dump_tasks, >> - .maxlen =3D sizeof(sysctl_oom_dump_tasks), >> - .mode =3D 0644, >> - .proc_handler =3D proc_dointvec, >> - }, >> { >> .procname =3D "overcommit_ratio", >> .data =3D &sysctl_overcommit_ratio, >> diff --git a/mm/oom_kill.c b/mm/oom_kill.c >> index 6b875acabd1e..c720c0710911 100644 >> --- a/mm/oom_kill.c >> +++ b/mm/oom_kill.c >> @@ -52,9 +52,35 @@ >> #define CREATE_TRACE_POINTS >> #include >> >> -int sysctl_panic_on_oom; >> -int sysctl_oom_kill_allocating_task; >> -int sysctl_oom_dump_tasks =3D 1; >> +static int sysctl_panic_on_oom; >> +static int sysctl_oom_kill_allocating_task; >> +static int sysctl_oom_dump_tasks =3D 1; >> + >> +static struct ctl_table vm_oom_kill_table[] =3D { >> + { >> + .procname =3D "panic_on_oom", >> + .data =3D &sysctl_panic_on_oom, >> + .maxlen =3D sizeof(sysctl_panic_on_oom), >> + .mode =3D 0644, >> + .proc_handler =3D proc_dointvec_minmax, >> + .extra1 =3D SYSCTL_ZERO, >> + .extra2 =3D SYSCTL_TWO, >> + }, >> + { >> + .procname =3D "oom_kill_allocating_task", >> + .data =3D &sysctl_oom_kill_allocating_task, >> + .maxlen =3D sizeof(sysctl_oom_kill_allocating_task), >> + .mode =3D 0644, >> + .proc_handler =3D proc_dointvec, >> + }, >> + { >> + .procname =3D "oom_dump_tasks", >> + .data =3D &sysctl_oom_dump_tasks, >> + .maxlen =3D sizeof(sysctl_oom_dump_tasks), >> + .mode =3D 0644, >> + .proc_handler =3D proc_dointvec, >> + } >> +}; >> >> /* >> * Serializes oom killer invocations (out_of_memory()) from all cont= exts to >> @@ -680,6 +706,11 @@ static void wake_oom_reaper(struct task_struct *t= sk) >> static int __init oom_init(void) >> { >> oom_reaper_th =3D kthread_run(oom_reaper, NULL, "oom_reaper"); >> + >> + #ifdef CONFIG_SYSCTL >> + register_sysctl_init("vm", vm_oom_kill_table); >> + #endif >=20 > PLease avoid the ifdefs and the tab spacing seems very off here. >=20 > Also are you running ./scripts/get_maintainer* ? >=20 > Luis >=20 Thank you for reviewing, I will revise and resubmit. I checked the patch using ./scripts/checkpatch.pl and found no errors.