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 81447C25B74 for ; Tue, 4 Jun 2024 03:57:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02E836B0083; Mon, 3 Jun 2024 23:57:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F21D76B0085; Mon, 3 Jun 2024 23:57:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE8116B0088; Mon, 3 Jun 2024 23:57:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id C19446B0083 for ; Mon, 3 Jun 2024 23:57:16 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 26C3E4014A for ; Tue, 4 Jun 2024 03:57:16 +0000 (UTC) X-FDA: 82191846072.18.A8D7AFB Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173]) by imf08.hostedemail.com (Postfix) with ESMTP id 6202C160015 for ; Tue, 4 Jun 2024 03:57:14 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mZDqVC59; spf=pass (imf08.hostedemail.com: domain of refault0@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=refault0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717473434; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=s2w9n07u2L+3JriE+8F6y2h6+/gxowhRoVwEzEuI9A0=; b=2Ml6mGWogeX5FfFd7KdAnLM9ctsP0XUpqggDh8T6iJBjxF9Qg4ZyhWyJ5vpxPSmkRkuZx2 6WGwREZg7dlExJh/Gy5hLOotZr0gKMGxRblcduc0tNAyuHjV7/C9ssiZIbjAfH60QOR72i pACmFAfqeD4br61+lhfs+mrMB2B3Tjo= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mZDqVC59; spf=pass (imf08.hostedemail.com: domain of refault0@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=refault0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717473434; a=rsa-sha256; cv=none; b=cVObQ3vq48ifkVTKbvkuEXw0Lr4iCOPZWAglMf3OqPNTpBKqXxbMOqQMUzvWqTse8Ac4tM IyG7od1w0Ml+6g063xIh9fici+oWXxnpUsG2eQ5pU2UYouUSmGAtX7b1jX779UriAIPQAF D75cOQAHHNbigGtbxu1MJbr6Qixsfew= Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-4eb0ff52f16so103684e0c.3 for ; Mon, 03 Jun 2024 20:57:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717473433; x=1718078233; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=s2w9n07u2L+3JriE+8F6y2h6+/gxowhRoVwEzEuI9A0=; b=mZDqVC59g/Fz9yYdbDZGSu6NEXKH2KComx6TLXx1DgBHBxDbAeSGEAziumzp+JGHQn HWquucBhKZqO5NB/3zTg2q7h+M5jiekaw5P6UZyMvYu6U9Y+JFY9DwBpwjN1FDXBB+x4 dhLvsHVDSf9c1XmNa/qnWpfNPBol+Zql+eEEeQRdS4Xl6Yf+EalEtM4YUqm4pEW7yZ20 XWEebYLdwtpxZFLXK0Uat1EWr9xMH2NdGwkx0HpIdI9gl4B0AO1pPSbBBCvgKwDibxcW 8Oy637LsQ5eoAijKviHjlx8z7I9xPoMrEOjCaZO3qfsk2wRGJzihu7MKrrfF6+9lTDX1 zSFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717473433; x=1718078233; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s2w9n07u2L+3JriE+8F6y2h6+/gxowhRoVwEzEuI9A0=; b=V/UZ15VT9dbnSceBHxUqrC+6B4ty3304wo3atS5nOI8I94rTGb21s50+0ez/1Tsa3B TjLaMIt9gDBo+Mir+nOhXKtfBlihEsIoSTEZl5GcDszUmHrJrQPRq6EjmZQgxFyOi6jB 4M+VHMHGCJ43UWh+OUHDc19nGi/NwghetAT+2z+LJZl1yx8S7/7eSPQWWyUjGXejKJb5 KotoRMgRolUFKY0kjzcMukyKCFMqeSQr6eqSyBSR/qgNaGkPWEktMtPFKFOek83CT6Op T5r/KsNthESnIR3oONKh4rNrYDN0Z3CfeMFFEdhuX6Vbezmh+zyIBGcsK6sc8+zCpnUc 1bLQ== X-Forwarded-Encrypted: i=1; AJvYcCXenVyh29yj2hHdVbLDAtGyvMb7eLb5StysGOw+dgH29og8p+k1sxSFLGeh5jV4gHcMF7+jNQPpKufW3ahZYxTeW+w= X-Gm-Message-State: AOJu0Yw9a1eglz9lC1FaQRiFCPJ4z7JlB2gAYtREU1A9Q2T08zmh2YAp NSbwecsrRgEJG9okEIBJ0qUtFQ273IEtla9AP6vyPdQl4/9kyMZbA3EkeLMTqN9PlbTKcf6NGHZ Sq0NFcp7BvUA7ARi5CDGXtVWgs0g= X-Google-Smtp-Source: AGHT+IHKhCogF7Ed5bUXcA1ni4ZDjh0TpP/vnHTXGNsd2dlSaFZNOu7SaGx/x57pS9XUZEcOr+4c/HKSr0xZrRWP5Gc= X-Received: by 2002:a05:6122:470e:b0:4eb:1bff:f2c1 with SMTP id 71dfb90a1353d-4eb2d715010mr1193754e0c.1.1717473432204; Mon, 03 Jun 2024 20:57:12 -0700 (PDT) MIME-Version: 1.0 References: <20240604020549.1017540-1-yuanchu@google.com> <20240604020549.1017540-2-yuanchu@google.com> In-Reply-To: <20240604020549.1017540-2-yuanchu@google.com> From: Lance Yang Date: Tue, 4 Jun 2024 11:56:58 +0800 Message-ID: Subject: Re: [PATCH v2 1/8] mm: multi-gen LRU: ignore non-leaf pmd_young for force_scan=true To: Yuanchu Xie Cc: David Hildenbrand , "Aneesh Kumar K.V" , Khalid Aziz , Henry Huang , Yu Zhao , Dan Williams , Gregory Price , Huang Ying , Muhammad Usama Anjum , Kalesh Singh , Wei Xu , David Rientjes , Greg Kroah-Hartman , "Rafael J. Wysocki" , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Shuah Khan , Yosry Ahmed , Matthew Wilcox , Sudarshan Rajagopalan , Kairui Song , "Michael S. Tsirkin" , Vasily Averin , Nhat Pham , Miaohe Lin , Qi Zheng , Abel Wu , "Vishal Moola (Oracle)" , Kefeng Wang , linux-kernel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 6202C160015 X-Stat-Signature: fqwa7smqkjprr59yr4fur1j6g8abkm7q X-Rspam-User: X-HE-Tag: 1717473434-786868 X-HE-Meta: U2FsdGVkX1/n9gs9zDN4eWg6GSOHE+0a03dx6Y3Wtm638OvL85qS1v33klfRDMClBOSOj4sRt2vSVC3m8b0P8R0U7GdcA8xNHYxk5mRuTECGzY54ONDjabwHxhYENHts7VN3wliqzq9BlpGyY2m8IwAU86TyPrQmvskpAtt1UNkiKE5Yb1OBG4kdaZOIJ+NvklIGpPspKYmgmKdxsT3bgrY9AaS/f3rx0Igv/XFBZPbT3PkrhbRzHTRkA+R/uhVHfkiYe4FaAuI0EfBZWBfT5cyH+71h0Ke6C/SnYlNeZHmaR4eQruKWqKUUxy8rSUg5oYytRf6RZo37MvBEijEldm1j6n8wF7sLPNXC6YK74isW2TtJFEp6S6ldePGwDRzk1nivHh9LGbAFUcoUOAtJY2aKWWJJEU0mCmUGuXIiNkyt8NOxpt5cQjFy428p1SMg4agW7jSSa+ptO5a9Ox3+Ez5ugCtX+BuPwfai3VWhsQtqvDypyJWY2vGWCX/HZy3qN2GuD8pTl+jC515GNFQ51FPK5Xfz5hturaaASBAgHyNoZnEgZM5/PZEG613mHCfN9LRyTUXGBhZ0ej+B3C6mPUViEpfYXy7A8JXg642KtUjtYUWGSNoKYjlc3tEbiOJbVFX+CrhkMwjUUOHTzhMFJ3LxXarWbod5ewnLrZPLHWJ1jGiJZIHBoGsQFWqII6GTodZ9OxRDW69UfyC+JgeUS2e7/zQh33pBWWo+eqSB1LHIMagGrMSp/V0tSyuGg1WwGAuKaTRAF7EJuImoC95GiqubJ2s+5DdEcvxsWFcJmcO7fqUVfNIzxyjXSJzI4vNbVfqz4ZkFGC6OT7jtIBm7jeVCpZEBSIpbHI981sYzpMgPbs0olI130u4t0JcZnFbwYDssINzA8wkovVG9wbbLg6VhOg5Qad1n8IuoT4WLCyr9wYVMLTgcElzhTSn+NxGrMKWaRPWT2bKgU7z0k75 Ussj74Ag Uzg00ZBUGI03qEbKzghrcq7nOvJw1MZDRFEnab/ZD3Z60n4et3Nm0O0OLuuqCNZGsO8xEyQ5kUQw7DgL1QzHVVyy1kR6GxCykWGbOEJvmKumt7PoiCnwTthoM6nWnj0c2Gvifp9to/w+E6bQNyU9HImOpR9d1Z7pH6GNDfs04VVWdvNlYy8ncJjoFCZeQwi0t5RDqT95XLvHgbtjn+k3uz4KYUryjzC0aq4wRH9am4+/4XLb1tK/A6xg1KDGlriLxyvCCPtdhW5NT/A+gxor/g6asIchBwSKZW+TotWwJ3hnmXvZrikdSkhCsYJOfqFEW4aeLUwBkGnw4IFtFxQtRD+BsoBQqImakE1EoinVnhAu4UBI0K8RN9gBTZLijN/ZY7d6qnyNtMTEDBHRkyeAO/dI/W1YjjGSx+NI5ZAuEX/oaL+6TyS/oVsG1GxJ2LghqybsMYpMrvevWvVcbfum8YPR8+U/Zn/yGl6iEZPwprWcoGRUFebRh+tUTdNA/42NSfHVraBLLiU5Cb6V6+Oy+SNMlfsXN27HDLxNLh7/HB+CGTOekDKiWGrlj2oFp0Um7/2or4eOJAuN9a7aItKpQEkgmOiRep4r58lVIY/82ff/8dUPaa6UgBEtL5g== 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: List-Subscribe: List-Unsubscribe: Hi Yuanchu, Just a few nits below ;) On Tue, Jun 4, 2024 at 10:06=E2=80=AFAM Yuanchu Xie wr= ote: > > When non-leaf pmd accessed bits are available, MGLRU page table walks > can clear the non-leaf pmd accessed bit and ignore the accessed bit on > the pte if it's on a different node, skipping a generation update as > well. If another scan occurrs on the same node as said skipped pte. s/occurrs/occurs > the non-leaf pmd accessed bit might remain cleared and the pte accessed > bits won't be checked. While this is sufficient for reclaim-driven > aging, where the goal is to select a reasonably cold page, the access > can be missed when aging proactively for workingset estimation of a of a s/of a of a/of a > node/memcg. > > In more detail, get_pfn_folio returns NULL if the folio's nid !=3D node > under scanning, so the page table walk skips processing of said pte. Now > the pmd_young flag on this pmd is cleared, and if none of the pte's are > accessed before another scan occurrs on the folio's node, the pmd_young s/occurrs/occurs Thanks, Lance > check fails and the pte accessed bit is skipped. > > Since force_scan disables various other optimizations, we check > force_scan to ignore the non-leaf pmd accessed bit. > > Signed-off-by: Yuanchu Xie > --- > mm/vmscan.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index d55e8d07ffc4..73f3718b33f7 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -3548,7 +3548,7 @@ static void walk_pmd_range(pud_t *pud, unsigned lon= g start, unsigned long end, > > walk->mm_stats[MM_NONLEAF_TOTAL]++; > > - if (should_clear_pmd_young()) { > + if (!walk->force_scan && should_clear_pmd_young()) { > if (!pmd_young(val)) > continue; > > -- > 2.45.1.467.gbab1589fc0-goog > >