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 D7F01CD6907 for ; Tue, 10 Oct 2023 08:32:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7BDE58D00B7; Tue, 10 Oct 2023 04:32:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 76E4D8D006D; Tue, 10 Oct 2023 04:32:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 65DBD8D00B7; Tue, 10 Oct 2023 04:32:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 568408D006D for ; Tue, 10 Oct 2023 04:32:41 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 30984A0233 for ; Tue, 10 Oct 2023 08:32:41 +0000 (UTC) X-FDA: 81328885722.28.4973A1C Received: from outbound-smtp29.blacknight.com (outbound-smtp29.blacknight.com [81.17.249.32]) by imf30.hostedemail.com (Postfix) with ESMTP id 6623E80006 for ; Tue, 10 Oct 2023 08:32:39 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of mgorman@techsingularity.net designates 81.17.249.32 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696926759; a=rsa-sha256; cv=none; b=0O7aot2nwiS/K5Te9veBr6vbPdjAuVD3aW6HwlRi8p/waQ23dcjQQhZem7e4WiMDX+sFYI rc0+OuPJ/DzTTQRg+mXIcoRI9LrgAPpeYSQW/FGvSFQpy82fckiuJTMbYn2HCXOXhGyhP2 +EOjGNWyPqiehax9DK7mJTCXmW8rpcs= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of mgorman@techsingularity.net designates 81.17.249.32 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696926759; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l8wp8EZkNGWz+a7usr3RgY3QJlR87bE9BeQWjYhK4x4=; b=u5rbmTalg92SdrlKb6UM2fctLT7sItG1Q4xvRZbdrDCPVIcol4cOBRPXrr2QusvGx93985 zCl2rONR2ZfPtiiWt4sE27I/G5W31gr3Ep69eWRDOzSxBv2h5+nmYMu6UzysTHYfyV3PPi Rx8geDAbUrb0WiFsMzd1QwTOGm5vQ7k= Received: from mail.blacknight.com (pemlinmail04.blacknight.ie [81.17.254.17]) by outbound-smtp29.blacknight.com (Postfix) with ESMTPS id A3EF4BEDC0 for ; Tue, 10 Oct 2023 09:32:37 +0100 (IST) Received: (qmail 8544 invoked from network); 10 Oct 2023 08:32:37 -0000 Received: from unknown (HELO morpheus.112glenside.lan) (mgorman@techsingularity.net@[84.203.197.19]) by 81.17.254.9 with ESMTPA; 10 Oct 2023 08:32:36 -0000 From: Mel Gorman To: Peter Zijlstra Cc: Raghavendra K T , K Prateek Nayak , Bharata B Rao , Ingo Molnar , LKML , Linux-MM , Mel Gorman Subject: [PATCH 4/6] sched/numa: Move up the access pid reset logic Date: Tue, 10 Oct 2023 09:31:41 +0100 Message-Id: <20231010083143.19593-5-mgorman@techsingularity.net> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20231010083143.19593-1-mgorman@techsingularity.net> References: <20231010083143.19593-1-mgorman@techsingularity.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 6623E80006 X-Stat-Signature: idbojkxwatikfbdg93oc7sc3ezt43p1b X-HE-Tag: 1696926759-746009 X-HE-Meta: U2FsdGVkX1+FS/gXazSZmm2ezkUbPkDCt/bUcDmCDVFyJgd1Q4uLGJR/ktxe3RQCty7h5TceDnHVNXmzs7AIiaG/Ff6zxaaDYSKIiwLCG2XQ6wph5sIF2fg1X/5E+ad1/PkoeUhA3fKJMpHTTf/ypM83Bi5cTZbWvF5W6euIza00PI3F2HfX9fHD5EM8RiRudmz08/MwvMuSL0Lt/ph5prR6rDrJvt/1jgKNx9CkychbhkcKPXrB6/pvJtszpzOmznnYRxGrBWD9AKsT5S96Aq7MONxMC6yFqRFgWoaWyKp7Bo5DODkQeAnmh+tYA3ubfWh8my7t5uj3g3AT/vb3qi0lMJ9GM7eiXmRlawn/6jtFdlqw75kB/rw3hKZDq8vrdG8xDYINmS62VEOxmKfOFycSNxvX+Y4jfgMnWj3ATxe+8z/gYd6dIqBzhadQkVZ23w742CM/hnh5PS4Co2AMahODYDTBEX0lMj7UbdbSujX/HdpXkyaAkAbTOtaA9ZtBmbYaVhmkD6JeuVU5YJGg7i47d4GGejSOGCgjaWLvz9LcCQUliflpvpJ6RZ2/eiQzg+bnVORVGaYQWczKXm0AambzI5KEt5khNEDHB8SItTCwPDIh/jMmvdBSbgymCsn0n2N8ZbEvB6e1UB67zHBW7duTTPZFi5rlAvYiVYKipLP1KI5kU5EBA8mP7gXptVhPveO2lFw/Q1ZvJA3yDM7tGuY5cdaDsSPWTvy7cfKOFrelPIrj+ApxcKM/TH/er8HVBmk+fETX+ElKxYV3AYAFHY4M4NEJjOOHjQh16DI+k5hYOa4l1sWJLLXdaoBwpvO2Hcvx+Wt1SZeHAZ4SGlwc+NfemWbTZArjMi2efiyPustpGW6PItDYp4gF/e+y/oiWFIF83MdW6R2RVThJM+MWcrb2qQclHIfIbmZUm5OiLpesQkY60HdHLb/0413UDVEaVnC7g95hFFom1mCqWix yQPIjkDl bxp80CWIy3VFLzzmU9idL/dY9hVnmNADqrDkV1rNAMaumvjpQnekpjyMnY+zjDRFnjaKg2dqXNBRyVJhsP7h4jqtvvaBrNQr/UTsweDfl2KfxGqtezM3dud5g+8Vk5d5fyw9jVrbIBFVSwuDBctavCDwfSTEZxIas/drbOA9HtI2qONX9adawajzMC8E4JBMtXMnmZZ1Y1ftX7qjyqYdkTm6YIZRdJ39qK9DLHRbiXAlo0a8= 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: From: Raghavendra K T Recent NUMA hinting faulting activity is reset approximately every VMA_PID_RESET_PERIOD milliseconds. However, if the current task has not accessed a VMA then the reset check is missed and the reset is potentially deferred forever. Check if the PID activity information should be reset before checking if the current task recently trapped a NUMA hinting fault. [mgorman@techsingularity.net: Rewrite changelog] Suggested-by: Mel Gorman Signed-off-by: Raghavendra K T Signed-off-by: Mel Gorman --- kernel/sched/fair.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 0535c57f6a77..05e89a7950d0 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -3277,16 +3277,7 @@ static void task_numa_work(struct callback_head *work) continue; } - /* Do not scan the VMA if task has not accessed */ - if (!vma_is_accessed(vma)) { - trace_sched_skip_vma_numa(mm, vma, NUMAB_SKIP_PID_INACTIVE); - continue; - } - - /* - * RESET access PIDs regularly for old VMAs. Resetting after checking - * vma for recent access to avoid clearing PID info before access.. - */ + /* RESET access PIDs regularly for old VMAs. */ if (mm->numa_scan_seq && time_after(jiffies, vma->numab_state->pids_active_reset)) { vma->numab_state->pids_active_reset = vma->numab_state->pids_active_reset + @@ -3295,6 +3286,12 @@ static void task_numa_work(struct callback_head *work) vma->numab_state->pids_active[1] = 0; } + /* Do not scan the VMA if task has not accessed */ + if (!vma_is_accessed(vma)) { + trace_sched_skip_vma_numa(mm, vma, NUMAB_SKIP_PID_INACTIVE); + continue; + } + do { start = max(start, vma->vm_start); end = ALIGN(start + (pages << PAGE_SHIFT), HPAGE_SIZE); -- 2.35.3