Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp505153rwn; Thu, 8 Sep 2022 05:07:45 -0700 (PDT) X-Google-Smtp-Source: AA6agR6D88elDRRhSDCrzXCflNFHEvhrcSH2JE4snCytE7ZknXyRL863rq8TW7D3Yl3cj4lErQ8A X-Received: by 2002:a63:2a49:0:b0:41d:95d8:3d3d with SMTP id q70-20020a632a49000000b0041d95d83d3dmr7653252pgq.43.1662638864654; Thu, 08 Sep 2022 05:07:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662638864; cv=none; d=google.com; s=arc-20160816; b=Q+OkoIe1XfkBnR/GQ6t6rLVKq+pLlTNyVMe6taQylsvZ3TelA0g821rDaBJAKZqZlQ Ebm/OPH3LtqU9AlyOeIcLZktmTDdy0hD4DEiYab/NTRi02ykNTq1qnvyqHrwvNkEawc8 I1dVTS0OpZYJyIcxShUp+dSh8IdP7DcBz2pTSeKT4tJU13WqgRxWK5EM8ilyB5WZ//9x yIvPc/8QQmGJSlwTV89CWLNScNb0YTqMv1yUW6qIcPrfgJmUmYHhv1JKovWBgATxjw+o vwJHl2KreERJ8jchhwFe7e0eJ+z7OpwSDnxnxl/AoWTKJ319UnoXBtcXFyv77VpEcgXk gHOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=zQvjxLdWi20E61Txz41y9DhI15ucp2iANdHWJIMAtHs=; b=VgoelGELePixoR7L7Te3cjdm6n2M1jarQIzUK2s7fJT7Z8P4QyTBnPLxwPEkoaVD4R AhgfGI0sbO6f1+HN27kpNkcZkZfLAknOE9MYSlNsSvOID5iZkz26s+sAAjEz5ygq/rpc F8rP/ROY/ymLU9UcbswmPuzplCJUwWy8xdmhq0vrVr+dB88IlDaDues1a8UkaeUUlv5k B2rnIHymKpbXHAbxt2IvTI00VTfNNkty8CGBe1ov3eiZcnoj4kgb171priFYFKkLIXYu G6YI1k6BLm8PbN2L5YA9NzlCFmxwi5JhKYqUs9/P/hBVAek/NUZ0MhYSyLkYaAoeVbM1 Y0lQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r126-20020a632b84000000b00434ecdb8a30si4431712pgr.5.2022.09.08.05.07.30; Thu, 08 Sep 2022 05:07:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231274AbiIHMC5 (ORCPT + 99 others); Thu, 8 Sep 2022 08:02:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230214AbiIHMCz (ORCPT ); Thu, 8 Sep 2022 08:02:55 -0400 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75801A6C48; Thu, 8 Sep 2022 05:02:53 -0700 (PDT) Received: from dggpemm500024.china.huawei.com (unknown [172.30.72.54]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4MNd4R5xGkzHngx; Thu, 8 Sep 2022 20:00:55 +0800 (CST) Received: from dggpemm500001.china.huawei.com (7.185.36.107) by dggpemm500024.china.huawei.com (7.185.36.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 8 Sep 2022 20:02:51 +0800 Received: from localhost.localdomain.localdomain (10.175.113.25) by dggpemm500001.china.huawei.com (7.185.36.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 8 Sep 2022 20:02:51 +0800 From: Kefeng Wang To: Luis Chamberlain , Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot CC: Kees Cook , Iurii Zaikin , , , Kefeng Wang Subject: [PATCH Resend] sched: Move numa_balancing sysctls to its own file Date: Thu, 8 Sep 2022 20:07:14 +0800 Message-ID: <20220908120714.108481-1-wangkefeng.wang@huawei.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20220908072531.87916-1-wangkefeng.wang@huawei.com> References: <20220908072531.87916-1-wangkefeng.wang@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.113.25] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggpemm500001.china.huawei.com (7.185.36.107) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The sysctl_numa_balancing_promote_rate_limit and sysctl_numa_balancing are part of sched, move them to its own file. Signed-off-by: Kefeng Wang --- Resend: drop ctl_table in sysctl.h too. include/linux/sched/sysctl.h | 6 ------ kernel/sched/core.c | 13 ++++++++++++- kernel/sched/fair.c | 18 +++++++++++++++--- kernel/sysctl.c | 19 ------------------- 4 files changed, 27 insertions(+), 29 deletions(-) diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h index 303ee7dd0c7e..5a64582b086b 100644 --- a/include/linux/sched/sysctl.h +++ b/include/linux/sched/sysctl.h @@ -4,8 +4,6 @@ #include -struct ctl_table; - #ifdef CONFIG_DETECT_HUNG_TASK /* used for hung_task and block/ */ extern unsigned long sysctl_hung_task_timeout_secs; @@ -27,12 +25,8 @@ enum sched_tunable_scaling { #ifdef CONFIG_NUMA_BALANCING extern int sysctl_numa_balancing_mode; -extern unsigned int sysctl_numa_balancing_promote_rate_limit; #else #define sysctl_numa_balancing_mode 0 #endif -int sysctl_numa_balancing(struct ctl_table *table, int write, void *buffer, - size_t *lenp, loff_t *ppos); - #endif /* _LINUX_SCHED_SYSCTL_H */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c index b60422300af6..677225b71538 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4407,7 +4407,7 @@ static void reset_memory_tiering(void) } } -int sysctl_numa_balancing(struct ctl_table *table, int write, +static int sysctl_numa_balancing(struct ctl_table *table, int write, void *buffer, size_t *lenp, loff_t *ppos) { struct ctl_table t; @@ -4534,6 +4534,17 @@ static struct ctl_table sched_core_sysctls[] = { .proc_handler = sysctl_sched_uclamp_handler, }, #endif /* CONFIG_UCLAMP_TASK */ +#ifdef CONFIG_NUMA_BALANCING + { + .procname = "numa_balancing", + .data = NULL, /* filled in by handler */ + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = sysctl_numa_balancing, + .extra1 = SYSCTL_ZERO, + .extra2 = SYSCTL_FOUR, + }, +#endif /* CONFIG_NUMA_BALANCING */ {} }; static int __init sched_core_sysctl_init(void) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index cf3300b1a1d2..ff37620bdfbe 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -178,6 +178,11 @@ int __weak arch_asym_cpu_priority(int cpu) static unsigned int sysctl_sched_cfs_bandwidth_slice = 5000UL; #endif +#ifdef CONFIG_NUMA_BALANCING +/* Restrict the NUMA promotion throughput (MB/s) for each target node. */ +static unsigned int sysctl_numa_balancing_promote_rate_limit = 65536; +#endif + #ifdef CONFIG_SYSCTL static struct ctl_table sched_fair_sysctls[] = { { @@ -197,6 +202,16 @@ static struct ctl_table sched_fair_sysctls[] = { .extra1 = SYSCTL_ONE, }, #endif +#ifdef CONFIG_NUMA_BALANCING + { + .procname = "numa_balancing_promote_rate_limit_MBps", + .data = &sysctl_numa_balancing_promote_rate_limit, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = SYSCTL_ZERO, + }, +#endif /* CONFIG_NUMA_BALANCING */ {} }; @@ -1094,9 +1109,6 @@ unsigned int sysctl_numa_balancing_scan_delay = 1000; /* The page with hint page fault latency < threshold in ms is considered hot */ unsigned int sysctl_numa_balancing_hot_threshold = MSEC_PER_SEC; -/* Restrict the NUMA promotion throughput (MB/s) for each target node. */ -unsigned int sysctl_numa_balancing_promote_rate_limit = 65536; - struct numa_group { refcount_t refcount; diff --git a/kernel/sysctl.c b/kernel/sysctl.c index f10a610aa834..2ea3bf603b89 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -1631,25 +1631,6 @@ int proc_do_static_key(struct ctl_table *table, int write, } static struct ctl_table kern_table[] = { -#ifdef CONFIG_NUMA_BALANCING - { - .procname = "numa_balancing", - .data = NULL, /* filled in by handler */ - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = sysctl_numa_balancing, - .extra1 = SYSCTL_ZERO, - .extra2 = SYSCTL_FOUR, - }, - { - .procname = "numa_balancing_promote_rate_limit_MBps", - .data = &sysctl_numa_balancing_promote_rate_limit, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_dointvec_minmax, - .extra1 = SYSCTL_ZERO, - }, -#endif /* CONFIG_NUMA_BALANCING */ { .procname = "panic", .data = &panic_timeout, -- 2.35.3