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 B3875C02180 for ; Mon, 13 Jan 2025 16:18:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 45B5D6B0083; Mon, 13 Jan 2025 11:18:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3E54C6B0088; Mon, 13 Jan 2025 11:18:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 236F46B0092; Mon, 13 Jan 2025 11:18:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 02D3C6B0083 for ; Mon, 13 Jan 2025 11:18:00 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 76AB51C75D4 for ; Mon, 13 Jan 2025 16:18:00 +0000 (UTC) X-FDA: 83002935120.16.4E5839D Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com [209.85.219.52]) by imf29.hostedemail.com (Postfix) with ESMTP id 404B3120007 for ; Mon, 13 Jan 2025 16:17:58 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XX3CYwwd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.52 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736785078; 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=jfzu8LVinRmTffQRsvj5JwYAQma905XvC7kwPgp95yk=; b=dIMt76Td1+or/OGGshD0J4jG392LmElYc5SdKeFON/QA8PCpInyvHNHV76gqk+Snv99H3X DB+ZRQczpchDgxF4SMLgC0XfCtYJMRLHznqmm+REH2wh0oTDdX/J7t+89xsGeVcOq/xakx 2tgC9CcAr7NINUto8pg7B5r47boXF94= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736785078; a=rsa-sha256; cv=none; b=VHaHNKRsRdIDChNhLUghM2GNpb4b2mFb7Zlp5+QdWqvS/YWTM5yHTQzapm3bYpQICuaeqk WUQ3TJnVGlREsXKOpjfWudrB5YrIEVrAdIovoEJqk+bTLtnYG8vZgARimcxEkAtMPddWaY /yIrt2u2YAUyQDqR2Fpy59/2CId/2iQ= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XX3CYwwd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.52 as permitted sender) smtp.mailfrom=yosryahmed@google.com Received: by mail-qv1-f52.google.com with SMTP id 6a1803df08f44-6dd16e1cfa1so38710326d6.1 for ; Mon, 13 Jan 2025 08:17:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736785077; x=1737389877; 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=jfzu8LVinRmTffQRsvj5JwYAQma905XvC7kwPgp95yk=; b=XX3CYwwdRMMBzVTMSXnd6DMcJBcY5nHWQZv/wEljJPw4IowEcmpyuwux2cEfmwgJy/ mo55EGG9qw3gF7f0ce9qZk3bFTuXLzWufe+gY8igYSVcZyOPWdEZz7rTp1aqcX4erGuY /3y+HS2jiPJRaq3nxr+Yvso6b0K1b5PGABM1UDqdsPwFgck31sJZDyOOErr+87G+1nRg kT0+pb4PW17W+Ze5WTVDzGUj/XXgB9rApPZsyO7ZZZ0h69a1ozJ+o/ip2CJrH5b2/kFY 1b5DqMa1PRWmeEaF4z8mnIULGByHU2LRUXSgQC+9GFEVx/g841Ka3/zn6Z/0LL2vuNOI EKdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736785077; x=1737389877; 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=jfzu8LVinRmTffQRsvj5JwYAQma905XvC7kwPgp95yk=; b=WGK08A7vBlKul8I6IXeGyhnzI4KYYEcCCP01CeA9Ocgr51jdDwmmSBxhMI2pvKWSvU sRmI/x8PB3cW48UmN5lSpkQPQvlV0dK0WUPMig/Zf8GMpgUp/bs6wOq0oP1iiPiMFBjn S33kfY1BMVozCJKaaneD4k8jxdfHZ3CrHnHDUx04rBqTPa6lp24ewQQeIBJ/PkOUctDr sdBftJiWzsH4cck5Jz9UE6IdRdK4mkmMBARl883ythojandX77xARDmVfcHibAsa6Yoe 4XExhnz0JRItzXG9opPwDEFnq7gAhzFFJo2YcvfLWkL0WDTzSt8Hyt03A7p23Zf/6203 Inuw== X-Forwarded-Encrypted: i=1; AJvYcCUCDTTJF7q22v6NBUOMZIZ7nkGd9BdAJv19ErMVwfg4k0MFdEpqmJCSR28y5YpN5GvPchnrQ/6g6w==@kvack.org X-Gm-Message-State: AOJu0Yysh6YcuSVqS9XdCsSK06IYWtUBnfEEs6zWXKbeIC2olkfV6yn2 0twGFpFsrcWOv1507Yh3XeGh2FNoxIfrj2OugeNmeQsv11HXIIBsWr/zQbYihuIJAtcM8+uZIPQ vcWkzVyeCGXoIaGqbZD3gAq7ai4eljZmv9V3B X-Gm-Gg: ASbGncspt8rY1+87xQwKt25zfiHp5ZEidnAJn5qVM1Iid5ijWvP7PoL3envzEIjP1JO Fpmgkb431eJt89fkzYuFZEvYZ+ZVex4dUcqo= X-Google-Smtp-Source: AGHT+IFDY+ySlB1nZMJq9PlTNDL8qUtu0AiaG+WzwFjnrE/ylu2IG3nFGi1mN1AYrMM9NBOj0s/u+5iNgQWpIVWK82E= X-Received: by 2002:a05:6214:20ce:b0:6d8:812e:1fd0 with SMTP id 6a1803df08f44-6df9b1da95amr320133376d6.15.1736785077170; Mon, 13 Jan 2025 08:17:57 -0800 (PST) MIME-Version: 1.0 References: <20250113093453.1932083-1-kirill.shutemov@linux.intel.com> <20250113093453.1932083-5-kirill.shutemov@linux.intel.com> In-Reply-To: <20250113093453.1932083-5-kirill.shutemov@linux.intel.com> From: Yosry Ahmed Date: Mon, 13 Jan 2025 08:17:20 -0800 X-Gm-Features: AbW1kvZz7xe4mjGEEdN13LDK63_d9mSHRFPhCcbgv5eQRi5YXclVXjASqcr-k6E Message-ID: Subject: Re: [PATCH 4/8] mm/swap: Use PG_dropbehind instead of PG_reclaim To: "Kirill A. Shutemov" Cc: Andrew Morton , "Matthew Wilcox (Oracle)" , Jens Axboe , "Jason A. Donenfeld" , Andi Shyti , Chengming Zhou , Christian Brauner , Christophe Leroy , Dan Carpenter , David Airlie , David Hildenbrand , Hao Ge , Jani Nikula , Johannes Weiner , Joonas Lahtinen , Josef Bacik , Masami Hiramatsu , Mathieu Desnoyers , Miklos Szeredi , Nhat Pham , Oscar Salvador , Ran Xiaokai , Rodrigo Vivi , Simona Vetter , Steven Rostedt , Tvrtko Ursulin , Vlastimil Babka , Yu Zhao , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: ssjzxjrh8pjre1z19d4ox8rw8amo1if9 X-Rspamd-Queue-Id: 404B3120007 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1736785078-300623 X-HE-Meta: U2FsdGVkX1+RvMQMz/36CUDQqXmHTSSCTdcfY0r7hWU07o+fG48o30/6E3L0akRD0Nn7wjz/ewSbuYkc1FoB+LOAJmydi5I8Ezkj/+NWDAxrRH4wiB/MU22gzS5IOdPPI6lTT8nhNF99BpUN+aSymSbjP/fOoRIuhhoKI7diofACWQyXk+q2FMIPPPrf6ZHiW7wLeArMtuXZYg089KgqiY01i9dG0L7SKGH4S8CPL7ikrjPsyAHvSfYNFJae8/qWr4IR+Gt52VKkfCpfIB6PA3fSudCOxYAVT/yM0ETYvnN5pVZC9C1DCKqEf4FsKWzAhM1bzgWDszYcDAB9gYNKsPOtjj5YQ35GFfouPrCtT390mdifCvajtRq8eCGJ1s0z3EVnS/1RqkcdYdG3/ki7tzMfrKclMC6lflJC4FT+GkkbQBOhpsYvKtUBkVN1XEIHVDAYU2/CtOXvpzRgA27LN+HSwnI2VjuVkGtWU3IqX6OrEIkevjDloCXwK4gFrCJcgiZd+4uwtL2ayazeL1Y3rEbJsLvlsvbhWGfebi87nqU04dv58LioChqucuOVKl1OuXyjoY0TMo2fRuhn5H8QGZclES0Xa0TSSgstHF01S3JVagqnbcv893ndaiflzRIBKC4Hs7RaBn9vyskormx/UjvuaNPsSe7WsR4OcH5mg5HDwLIzyZ3thlV1QP+OrY98SFD6v2OylYUF9hXGjO575PzG+rH2/T2AKkVPQn4b4vFRymU52W6fKW2IiX3bSoAjQGCYaiH/ZV4ZILWMQxbS28vWCCaX9dSxA5+V3lBJ1IKllNs3qbMrcUet7RykNZvf4KV0kYiVnrTYMeG3TPdHuOdcau0pQ9aJPSU37OYO/TDESXBMpScgNfwnY+YIWzzvlIS8DddGAqRaJeRFqnvdtcO3DYfaCXOhyS/0/v0LJQEclF4gvG2YdrU1qmCtZP1CzE0UBfXTcSxkU3RBC0v Sq9IVArS j5G0JwVFuQCH+AkUROmMxTclpYUKbJZLulSNp+rmOl8Ba/DtRaaEyfoUBL6cwC+96zRpPFPN3wxfNZEIIKkOpIkD6UKI99+7Wpj+r84L7gByZKrBeJlYkbJfmpnyEPKQmoraolUrs5lO36Xf5UB18UKW2r/R+3WdHyxZG5U6pKOe1FRCT5ooMGkIh/+rcgcVpnBH3kUwvsyFFbdsD/cDCzxXsN8j0U3jdp3Ma9l+f3wGyAywU5KzeUFwHLXWIz+1z02YSb6g9+/iA+nU= 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: On Mon, Jan 13, 2025 at 1:35=E2=80=AFAM Kirill A. Shutemov wrote: > > The recently introduced PG_dropbehind allows for freeing folios > immediately after writeback. Unlike PG_reclaim, it does not need vmscan > to be involved to get the folio freed. > > Instead of using folio_set_reclaim(), use folio_set_dropbehind() in > lru_deactivate_file(). > > Signed-off-by: Kirill A. Shutemov > --- > mm/swap.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/mm/swap.c b/mm/swap.c > index fc8281ef4241..4eb33b4804a8 100644 > --- a/mm/swap.c > +++ b/mm/swap.c > @@ -562,14 +562,8 @@ static void lru_deactivate_file(struct lruvec *lruve= c, struct folio *folio) > folio_clear_referenced(folio); > > if (folio_test_writeback(folio) || folio_test_dirty(folio)) { > - /* > - * Setting the reclaim flag could race with > - * folio_end_writeback() and confuse readahead. But the > - * race window is _really_ small and it's not a critical > - * problem. > - */ > lruvec_add_folio(lruvec, folio); > - folio_set_reclaim(folio); > + folio_set_dropbehind(folio); > } else { > /* > * The folio's writeback ended while it was in the batch. Now there's a difference in behavior here depending on whether or not the folio is under writeback (or will be written back soon). If it is, we set PG_dropbehind to get it freed right after, but if writeback has already ended we put it on the tail of the LRU to be freed later. It's a bit counterintuitive to me that folios with pending writeback get freed faster than folios that completed their writeback already. Am I missing something?