From nobody Thu Feb 12 09:02:14 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0FB44C6FD18 for ; Tue, 25 Apr 2023 10:08:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233599AbjDYKID (ORCPT ); Tue, 25 Apr 2023 06:08:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233273AbjDYKIB (ORCPT ); Tue, 25 Apr 2023 06:08:01 -0400 Received: from m126.mail.126.com (m126.mail.126.com [220.181.12.26]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id F30767AA6 for ; Tue, 25 Apr 2023 03:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=sAEbn 5ai39i4LztPVMYZ63TjvWXNipzPOAbsckNPCDE=; b=XSco1xOgUxY/QVM/LQYid aG06AUor8d8asqsikFhhn/ENmzXKSlFtVDlEF9aVyHP7Fl3v4thD/XKy4kI7ehIx MBIFaxQaO6WRrkeOemofJwH94jwBjk6cNr61PZUubQlMrEyBBxboTdxDggT8nYKW efeUBF3CHSF9R15rUI+DmY= Received: from fedora.. (unknown [123.52.27.102]) by zwqz-smtp-mta-g0-0 (Coremail) with SMTP id _____wD3_3NZpUdkfHEaAA--.44629S2; Tue, 25 Apr 2023 18:03:07 +0800 (CST) From: zhaomzhao@126.com To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com Cc: linux-kernel@vger.kernel.org, Zhao Mengmeng Subject: [PATCH v1] sched/fair: fix inconsistency in update_task_scan_period Date: Tue, 25 Apr 2023 06:02:04 -0400 Message-Id: <20230425100204.2032009-1-zhaomzhao@126.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: _____wD3_3NZpUdkfHEaAA--.44629S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7tFW7tryrtrW7AF13CrWxZwb_yoW8Kr1xpa yFyF18AF47Jw18Ww45u347XrWfW3yrtw12qa1xAasIvFn0gryYvF1qgw17u34UCry8Kr4U Z3WayrW3Gw1vvF7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UNyCXUUUUU= X-Originating-IP: [123.52.27.102] X-CM-SenderInfo: 52kd0zp2kd0qqrswhudrp/1tbimh5cd1pEK1AA5wAAst Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Zhao Mengmeng During calculate numa_scan_period diff, the actual code and the comment are inconsistent. The comment says it is using shared faults ratio, but code uses private faults ratio. This patch fixes it. Signed-off-by: Zhao Mengmeng --- kernel/sched/fair.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 373ff5f55884..73cc83128072 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2362,7 +2362,7 @@ static void update_task_scan_period(struct task_struc= t *p, unsigned long shared, unsigned long private) { unsigned int period_slot; - int lr_ratio, ps_ratio; + int lr_ratio, sp_ratio; int diff; =20 unsigned long remote =3D p->numa_faults_locality[0]; @@ -2393,24 +2393,24 @@ static void update_task_scan_period(struct task_str= uct *p, */ period_slot =3D DIV_ROUND_UP(p->numa_scan_period, NUMA_PERIOD_SLOTS); lr_ratio =3D (local * NUMA_PERIOD_SLOTS) / (local + remote); - ps_ratio =3D (private * NUMA_PERIOD_SLOTS) / (private + shared); + sp_ratio =3D (shared * NUMA_PERIOD_SLOTS) / (private + shared); =20 - if (ps_ratio >=3D NUMA_PERIOD_THRESHOLD) { + if (lr_ratio >=3D NUMA_PERIOD_THRESHOLD) { /* * Most memory accesses are local. There is no need to * do fast NUMA scanning, since memory is already local. */ - int slot =3D ps_ratio - NUMA_PERIOD_THRESHOLD; + int slot =3D lr_ratio - NUMA_PERIOD_THRESHOLD; if (!slot) slot =3D 1; diff =3D slot * period_slot; - } else if (lr_ratio >=3D NUMA_PERIOD_THRESHOLD) { + } else if (sp_ratio >=3D NUMA_PERIOD_THRESHOLD) { /* * Most memory accesses are shared with other tasks. * There is no point in continuing fast NUMA scanning, * since other tasks may just move the memory elsewhere. */ - int slot =3D lr_ratio - NUMA_PERIOD_THRESHOLD; + int slot =3D sp_ratio - NUMA_PERIOD_THRESHOLD; if (!slot) slot =3D 1; diff =3D slot * period_slot; @@ -2420,7 +2420,7 @@ static void update_task_scan_period(struct task_struc= t *p, * yet they are not on the local NUMA node. Speed up * NUMA scanning to get the memory moved over. */ - int ratio =3D max(lr_ratio, ps_ratio); + int ratio =3D max(lr_ratio, sp_ratio); diff =3D -(NUMA_PERIOD_THRESHOLD - ratio) * period_slot; } =20 --=20 2.38.1