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 451F8C4829D for ; Wed, 14 Feb 2024 06:06:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 883768D0013; Wed, 14 Feb 2024 01:06:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 833CC8D0001; Wed, 14 Feb 2024 01:06:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AF748D0013; Wed, 14 Feb 2024 01:06:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 572828D0001 for ; Wed, 14 Feb 2024 01:06:04 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0078D1C0F36 for ; Wed, 14 Feb 2024 06:06:03 +0000 (UTC) X-FDA: 81789373806.12.371C18D Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) by imf22.hostedemail.com (Postfix) with ESMTP id 2CC22C0017 for ; Wed, 14 Feb 2024 06:06:01 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=CB0OHK0F; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf22.hostedemail.com: domain of 3SVjMZQgKCGAIGLQCWFMEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--kinseyho.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3SVjMZQgKCGAIGLQCWFMEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--kinseyho.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707890762; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oan+94DZASviMy6e/v6AGJHUkNS1XGpMmnaov86Qm34=; b=QoCmkX0YC1OxXCTH50/nrpGx5R2g8/hzPgp1eOJWqQkk14bUyYW4N/BsUGI0vW7+l7tG1G pKGHOHIHe3q172BsVgfkysaga9jqRpLQYDYNBI+jMz5wWS1NuigtecKMEAKCYbN3qmtLtF u9rCEuxVOPwTA2nYuc8wp0ec2/n3oKg= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=CB0OHK0F; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf22.hostedemail.com: domain of 3SVjMZQgKCGAIGLQCWFMEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--kinseyho.bounces.google.com designates 209.85.128.201 as permitted sender) smtp.mailfrom=3SVjMZQgKCGAIGLQCWFMEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--kinseyho.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707890762; a=rsa-sha256; cv=none; b=ZzSQFPafgQj122FR7UE+2wXKGo01kBTsdVYbBIVMG5wnx6p1WzjK20d9wTGT7y3WAKMFY0 1jINWum0r4Cx/gvGur7bnl/qUZUz6P0d8oL67IUGhRWpZ6PdoJsWRJewA0HCE1OGy0ao/3 B/5hsL54qUrO1DtpYxbxS1iHtoirOcc= Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-60761bdbd4cso47584297b3.3 for ; Tue, 13 Feb 2024 22:06:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1707890761; x=1708495561; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=oan+94DZASviMy6e/v6AGJHUkNS1XGpMmnaov86Qm34=; b=CB0OHK0Fi+/kstD7cT+t9drFElafNa7bWl4FQmUrxkJ7ryxxGTWBW0lG3o7cCCN20A uPJ7Igv7SogVeEr6aJcA5BcpmddwOiknMu6ENcrEdbwJjfcaH1AaIwwLmrZYzzIM6yaM p2PRRgRxXACpMyWzyGt1LMS32L7doxD5tpUuVJcjMQJWTrYkg0Go6Gq4ezAuSlmiH+Ns dWiWYAXiEaVMo6gvjKsZUC/jXThqKjqQV7uaAie6psFnzdfQZuhoj+I40Dt9Fv1qsu+G AJCd+h0cYKvgvNREUp2nE+Eg4zN2vBrMMI2BXgccF6FeXpqrNDrTjHdqV/lapNwAkbiE fLJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707890761; x=1708495561; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=oan+94DZASviMy6e/v6AGJHUkNS1XGpMmnaov86Qm34=; b=PiRAaLdMG/owaHrqEhe1kzFIG3kH7Sppbp4nJ3ke89VL+MfFmFhoCDZssvySwxEKcu LKBlhT0gbLYT2j552niCwmiQlfeQQjRa6jUCJRC7yrG7byCprOswo7HdgMdgPJRiqw/r S4IcRhNbbXUJtvWDPtm1d3XbldGCrExLNKwnXHE3SxjrYOTLrnGptd5CPjfMVQqfA+WD bDA2MrjDlou2BDtBLllC+GgiZKCwivkuGWONkGvvI76uN6UUw6OIGVhJJTw5I1UD8pUO WmgOhrZFojbPCPqJ9uOoLUXsqfi12mcse/RQ5mGEyDF5dAWbjdpE7hwC3VMX93x1ioZP cGdw== X-Gm-Message-State: AOJu0YysY9q9bVqXHsUltVPaaWVc/rC7UL5UavC8g+26fan6gdajbXQr KTZySsMdD3uKUlQSkrjkGEhN05TE00nboerSxXfTXQEqGEFIQ+ZYy/nvm3uernXnpzt60WHBUCA fkfwcufziCg== X-Google-Smtp-Source: AGHT+IECTCgII+UlLQnb07kGfoMwJpWECxrLnQCitRZFg1hQDwcIyXTVjd31/aZJ1ay0iHXrZplnkBjLTApk8w== X-Received: from kinseyct.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:46b]) (user=kinseyho job=sendgmr) by 2002:a25:698d:0:b0:dca:33b8:38d7 with SMTP id e135-20020a25698d000000b00dca33b838d7mr320126ybc.11.1707890761264; Tue, 13 Feb 2024 22:06:01 -0800 (PST) Date: Wed, 14 Feb 2024 06:05:35 +0000 In-Reply-To: <20240214060538.3524462-1-kinseyho@google.com> Mime-Version: 1.0 References: <20240214060538.3524462-1-kinseyho@google.com> X-Mailer: git-send-email 2.43.0.687.g38aa6559b0-goog Message-ID: <20240214060538.3524462-3-kinseyho@google.com> Subject: [PATCH mm-unstable v1 2/5] mm/mglru: improve should_run_aging() From: Kinsey Ho To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yu Zhao , Donet Tom , "Aneesh Kumar K . V" , Kinsey Ho Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 2CC22C0017 X-Stat-Signature: mbp4p6jpkmey9exdkjfr37n6r79oazpj X-HE-Tag: 1707890761-57405 X-HE-Meta: U2FsdGVkX1+0Ck3wX91pO87y3BQ2Y+8DNxGZ46lAk7s32OjKbn6Vt4TpOxWdxwgiUxGKovGb1qdnMnnCCdMOZX1nSq9WQAc2d22jRAJZCNOMshVFvq7pPfDY8L6b8cX2Q+LSDAFt2oy2eU7fYMdx2XyC6e1PN8kq9rzdgV7Zls9XpIhdf99rxxoxghrteRk7eWOsN2yNcEXCTOB9Klm70yRamS4ty+RTGJ8iq1Rx1rRNB4Hn63k/cY5S0n1GCabOvO4ycfPI3wNE+zh05sguNZLuQ9tDietK3Okp63s2Wc4ieMvSb7e3sqLRWgKKs6g3g5DcNV2o1zvDMFaKtgSs1FGfuG1lYOR8MTuJ1P6yxp3BiAhVmy4t4XtX8bzB7mA01Jjoj2xSeduV1mCNeLZbSwsvrBJ5Rw1pCFab+7vVfL/kpZRULUGNg36wqDUBM3ZRVDUL153B3CGz4fjuoG5qaF6toT1h3i7EMPBur9LaWmKcgCKNs6USLz0SduGvlyoTd9oJoeotyWIlOx3zDL3iJ/1YGsI/iPpzTXz/nc33rvmof0zIJAp0WpImeIvZsLL3awkIcb8S5ZO672c2OgYijqUW/55tkUaMBIENt0bTVHdTyx0HF4J7s8WFqD9JVjuqUNWHaIYfVHplciIqqzNntENE2WdCoZULF5lXp2aJH5ufXaqPQ7ib9J3nDx3jgJWqC49KF/205kV3zOmz3AgI+Idt0fFwu8lAbeIyHwE4lZ3HeE3sf9k3CyJ/GwxJzKujxhsJH26QwrMhKwRZLl4K8pc5IIL1kGrKegNyV4TIlXYRdzVuMZpS2P0lvIifqVts7cfTFiMDEMMht/PFgIHZDpU4/8EryeXS9nUkffVrAmHm/+q82EOTqFtSSiPn6Gq5SDKF5m2VRLLcVkuu0ekf9R4V7JlfzdMJvHkGdYq7UVR9u7uWn5Kn4ROmbupxa9k6j3NocDucsJIPxiSsV3U LDA7qimL p+x//w0NM4Prj8AstZWy2Jum3FWYiiSic95cv6GhAt2zGfuO9f+3BbL5/hIChA0L+272VcskOu4AOByFcVwhJEOsH75wwKYYlLcHE9r5aIwhGHE2weCUux67JmCYsWjZ6QSytRxsJN0CE3r8Kuagy8gMWynKTJuy4/DD++jMGg2a/mx20P6GwqKCMHNtKDcMi/DEaQnKpCXSCggU5UwiZy3f/1eq8ML49CnMINnVnRUwMz1qwyDOCvAYHSWow2NnsOOv2KcqLCFSe7JAHpXJVdgMifvFOieAE9lHI9HoVFItX/aeRdTkEVL11UtnGanqEDiGwYKAtzpH8AbZEcZcmz+kHBNDcv9rkaOAJ6ho/iCeFAzisDOJ2XRH4d0Md88Gorr6KWBBBlioIy8YL/Y2a1ShYZSzzj4pIrTMnmnlMzAU8bR7ptXrSA/JolrwyPrLthaPp23w2Nby3jKMTvV8J4w7p1Ox/3V1cWz3IaLJQAELcJCSx/IWojVpbOmSH5rnrAl+f1MQGYr23nGEInfNMWMn1QRhXxAPQdmN3DlR6Z8EaW2oVK9Ap4+3IybQXblboR2UHBHsKhu3rRSnD15xfpbIJ2wJE2g/BM+xAvULnjVzJhJmDUOhJkP/ZCmMZbC/lMdscaKU38iirYLDZ24oMfKBqrJHUOkGp8wfQ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000444, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: scan_control *sc does not need to be passed into should_run_aging(), as it provides only the reclaim priority. This can be moved to get_nr_to_scan(). Refactor should_run_aging() and get_nr_to_scan() to improve code readability. No functional changes. Signed-off-by: Kinsey Ho --- mm/vmscan.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 9d15648561ec..87de39e7410b 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -4602,14 +4602,13 @@ static int evict_folios(struct lruvec *lruvec, struct scan_control *sc, int swap } static bool should_run_aging(struct lruvec *lruvec, unsigned long max_seq, - struct scan_control *sc, bool can_swap, unsigned long *nr_to_scan) + bool can_swap, unsigned long *nr_to_scan) { int gen, type, zone; unsigned long old = 0; unsigned long young = 0; unsigned long total = 0; struct lru_gen_folio *lrugen = &lruvec->lrugen; - struct mem_cgroup *memcg = lruvec_memcg(lruvec); DEFINE_MIN_SEQ(lruvec); /* whether this lruvec is completely out of cold folios */ @@ -4637,13 +4636,7 @@ static bool should_run_aging(struct lruvec *lruvec, unsigned long max_seq, } } - /* try to scrape all its memory if this memcg was deleted */ - if (!mem_cgroup_online(memcg)) { - *nr_to_scan = total; - return false; - } - - *nr_to_scan = total >> sc->priority; + *nr_to_scan = total; /* * The aging tries to be lazy to reduce the overhead, while the eviction @@ -4675,6 +4668,7 @@ static bool should_run_aging(struct lruvec *lruvec, unsigned long max_seq, */ static long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc, bool can_swap) { + bool success; unsigned long nr_to_scan; struct mem_cgroup *memcg = lruvec_memcg(lruvec); DEFINE_MAX_SEQ(lruvec); @@ -4682,14 +4676,17 @@ static long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc, bool if (mem_cgroup_below_min(sc->target_mem_cgroup, memcg)) return -1; - if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan)) - return nr_to_scan; + success = should_run_aging(lruvec, max_seq, can_swap, &nr_to_scan); - /* skip the aging path at the default priority */ - if (sc->priority == DEF_PRIORITY) + /* try to scrape all its memory if this memcg was deleted */ + if (nr_to_scan && !mem_cgroup_online(memcg)) return nr_to_scan; - /* skip this lruvec as it's low on cold folios */ + /* try to get away with not aging at the default priority */ + if (!success || sc->priority == DEF_PRIORITY) + return nr_to_scan >> sc->priority; + + /* stop scanning this lruvec as it's low on cold folios */ return try_to_inc_max_seq(lruvec, max_seq, can_swap, false) ? -1 : 0; } -- 2.43.0.687.g38aa6559b0-goog