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 19915C531DC for ; Tue, 20 Aug 2024 21:46:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66DDB6B0083; Tue, 20 Aug 2024 17:46:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F7216B0088; Tue, 20 Aug 2024 17:46:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 497AD6B0089; Tue, 20 Aug 2024 17:46:31 -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 2769B6B0083 for ; Tue, 20 Aug 2024 17:46:31 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B96041A0528 for ; Tue, 20 Aug 2024 21:46:30 +0000 (UTC) X-FDA: 82473958140.07.7E89B94 Received: from mail-vk1-f182.google.com (mail-vk1-f182.google.com [209.85.221.182]) by imf08.hostedemail.com (Postfix) with ESMTP id EB76E160011 for ; Tue, 20 Aug 2024 21:46:28 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RIgHPzz6; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.182 as permitted sender) smtp.mailfrom=21cnbao@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=1724190373; 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=XYiBf1vm/fzG+eRd8lpaessq+xOvrwp8tbUt3OoA+0A=; b=itodklf0PhdSH0MDAsyqsysmaHhZZAYzS5A2/vTtsQxtcHAfKrCJKG970jOxjufHwjNpjD X0/rZYyH7rfcOEPSVcNU6aaQGBfRME4V3D9fDHiPpB7h+etAcS9eCXa6MJpFUccHQGWAjC C0SEqW1MVPtvpWcrAd2PhvRsmCz74D0= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RIgHPzz6; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.182 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724190373; a=rsa-sha256; cv=none; b=H2qzMIqeFS26k/M/Gr2MU/spz7r7qqzVFg/21rox6K0lh7GBaE6la24FJiQ1POo+c4skwE PX4YAwflxAYc7h1vn+TpAmnOG/Re+m9Cy8URO6mxLLb45ALuwagVUOY0T7r5LXyKGDbJCL IUh5KnZExxYxS6G/teA0FKTCq1PqXVM= Received: by mail-vk1-f182.google.com with SMTP id 71dfb90a1353d-4f52bd5b555so91167e0c.1 for ; Tue, 20 Aug 2024 14:46:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724190388; x=1724795188; 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=XYiBf1vm/fzG+eRd8lpaessq+xOvrwp8tbUt3OoA+0A=; b=RIgHPzz6kLXA6rUp7V+Xc7yKgiI1ua2b9YNqompOrcfvAONlDkJegAKF9cgUZG1xpl +n+eKp4TDieYZQzPgpz+YJj6rjfjfocKtayKxha2XX2i4UG4Ax8G7a+VjwiljaJknaIV tTGP23DgUmNnQFIShJTkcqO/4CeJkE7Bx+VvScZLNeStiCFRI2+duBXYgzpFQg6Ewdl4 5m+NWusTreelNJtj6Mp747akOEBVpzaSj3a6Qnk46cLeby4uPAkh3p/2paW6YTDdh8vx xlwaLWfSBRVpivyVJEYf6IM63ns0YI31q9V56ma8S1w7uyPUhBLQ9L+4vFuxM4ZIBwV2 dUEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724190388; x=1724795188; 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=XYiBf1vm/fzG+eRd8lpaessq+xOvrwp8tbUt3OoA+0A=; b=Elk9mpOJe5brmCG0WQ5nU649mtp9EzFmG2m8ChUqqmyZVlk6tf6eamhM6czfHKV4fc NDo6M94ClNk3dQVLDbqbJOWEmGa/vHdeji6+vtJFqR5kmTtkDkvAGVPY1ih71gxecErQ rDUqxjiGDit3mW971lMvaFvvQwFEmGwRtromjnYyoeZri/TQkWbr0AEHWpK+Bs2k2ppw k8AqRNvBPEXUBWj3ECeN6Nv3z3UXKmqh3X73HHeo1Zidnz3QIJHbfkOGu5Nho7cbBF/u BzYoPr6/Pl9MBQCUpGbAm/hJ/1JPDLryWC3fcCGWP8mbvlpDL+PMAJQ5ByiuEmP438ZA 89vA== X-Forwarded-Encrypted: i=1; AJvYcCWu4wgD6GFiicei6uPFo+TKYlbH7bBVVeO2SFFBPVkqONK+bCUgbWf/f16n7KYIAD/cL0TgfbwLKg==@kvack.org X-Gm-Message-State: AOJu0YxT5QfCKFw0AuW23ubmc+hxIKTi4fPnZ0W5P6+m67RDVJ6mYHu9 dpQoQ9q8jJk3RBX6hjQvga1FMVDMuz/zNlitD5YSHTePj5z5BPRPgrO70GJe3bh0Pi1cPej3H2P BgEzn6lPk+vWYBqRv0z27eX9qwCt5v+8t X-Google-Smtp-Source: AGHT+IFL869/hbuGBllNon9+ZE6lVsV0t9wZrGUg8Zksu1quTXl91B0mKh1C2FgjQTTiijQtut+HB9iLBUd1liHZzME= X-Received: by 2002:ac5:cb0f:0:b0:4fc:ba44:6ad6 with SMTP id 71dfb90a1353d-4fcf3a105b4mr210623e0c.0.1724190387921; Tue, 20 Aug 2024 14:46:27 -0700 (PDT) MIME-Version: 1.0 References: <974d9d6c3b5e4848a32b930732366084@honor.com> In-Reply-To: <974d9d6c3b5e4848a32b930732366084@honor.com> From: Barry Song <21cnbao@gmail.com> Date: Wed, 21 Aug 2024 09:46:15 +1200 Message-ID: Subject: Re: [PATCH v2] mm: add lazyfree folio to lru tail To: gaoxu Cc: Andrew Morton , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Suren Baghdasaryan , Shaohua Li , yipengxiang , fengbaopeng , Kalesh Singh Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: cr7t9h69wut6yqmh9mzsibqy7otx5bwt X-Rspamd-Queue-Id: EB76E160011 X-Rspamd-Server: rspam11 X-HE-Tag: 1724190388-961754 X-HE-Meta: U2FsdGVkX1+hYb/CjgISHDvqa9IgGm8wirIxYXMB3hLgyY3xipJoB2GS/olU9Jm0pikMd2k5vXy/qhMgbYZXWiHk4GFIBTyCGr07I8wd7dY8zyXd/4hBtLDfeduKeymhjnc45t95SQrknU0IKzkOdwIQYefpP0cKvMwUwQH7hVzfYeB0tkLkwAknIiXGSN9lPt8WFNSzRdlCvIHmTbf35mtKYMpc+GZK2PwI57RJ5p9ley/3dZZeWfJU8Z9HaZPWYy4hHvBDvhRb2uJnlmWJ1OJ7E7jwI/xYk6JlYZUlbXEAkTe4obEvUMymruKnt0eF2tUclADNfFXVhyS9JHnx/+m+Zj0XhPr683XhT9wXcwgWKNO52e1g8RUHxQXWadS1Iu9H6xmq2aS5tBDeMFroMhLB+5HzO0H2xfGHdxFutVMFiYzT+/UmHgYPnFIscLqG8BY3TzUEMal51UvRUSIOXZ9ZwUsy8lcly+7kbvnIuK98OfaJLSzqH8/HIwMiyS660A3mA83ELXMq+BkhgyRy/ZXWgVKI1TjVWxIWTwI+WPWbUKoQv+u+P4hbhdpNknqTRRfiSwt7SWVIksfUfFZp3zyv7iOKXp64zoJ4El98YarWNndOCxaFBlxrRm5H6Ay1Xxbk9q/Eb/6hNmgv0gYubpgSDSUZQ/kUlMuO065qb/ZLwnFB0fclQJAp0y2HJNov6TwjMVAFPMhsZKU/4pfazvny5qWpBLfir6EfvZ8n/h1vx1psq3kG6QZ7UB7SqRVHCW9Nk3hCHuFdnWrcVTGVrrbgCm48Xdn0VHR9ds+ptTPIlaE0fL0Sc2w6l7m9G+sujshO1MMnzJNuCAMx1u8SA6MrVaI9UlWBmPWu9Y8izAiYOD0ueYFsBktsQFnCncSb0dqIQzD/npAI+ii2xUADu+16EiyrC1J3AqvI7B8lbnDo/1aHt8Yhb6amMYjOda2VReeL0t9t8nC3wjYX6zP F8Jg2iK7 v7wE+cn0LdcBDHsdcl8xAqxjxjRxMCf4AHI4Q03pUbmq3YJm9WdoU6TW3RoncXhco2oXxqwGNfp+83Ef8vfBk7NbUSrJTzbSLfj5TkHZ/bXcK9L5auAyJOJeWIwrn08RGdME0JQZ4BZ7k4jeWO/VbhJ8YyW9MSsG2uxTyko3oZBTua15ajktl861votHBtl+U0D14NJocl57WYrGmYVKe7ptapmTJo5XX6PJ9KYBSb9mdBF2ANDT+wifmi7YkUrn0JTRa8m9xXHGXTYB6MDCS87bzOEJ7dDoQHUuEDfpoOrmbhuiUWv6PqQRVPn6e4YpxkoGj2uJWE9FujI084jg8QkYmcanB0Dme6WfnI98VbZ4ex7t6iKwGw4hjyeuspB8qCmQcb/cmNa+jXQyttUwahxKaRQ8njvRqC8/c7V2uprNof6QGN8R1ihu6ueD1vWX7sR4ZMe9TMD9uU0diSU80AEGm6F8aupmTsTBbIzW2kmLkCse+6/P82OenPc80JrcL7Nop X-Bogosity: Ham, tests=bogofilter, spamicity=0.009946, 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 Tue, Aug 20, 2024 at 11:54=E2=80=AFPM gaoxu wrote: > > > > > On Fri, Aug 16, 2024 at 7:48=E2=80=AFPM gaoxu wrote: > > > > > > Replace lruvec_add_folio with lruvec_add_folio_tail in the lru_lazyfr= ee_fn: > > > 1. The lazy-free folio is added to the LRU_INACTIVE_FILE list. If it'= s > > > moved to the LRU tail, it allows for faster release lazy-free foli= o and > > > reduces the impact on file refault. > > > 2. When mglru is enabled, the lazy-free folio is reclaimabled and sho= uld be > > > added using lru_gen_add_folio(lruvec, folio, true) instead of > > > lru_gen_add_folio(lruvec, folio, false) for adding to gen. > > > > > > With the change in place, workingset_refault_file is reduced by 33% i= n > > > the continuous startup testing of the applications in the Android sys= tem. > > > > > > > Hi Gao, > > > > Just curious, in which scenario are we frequently calling MADV_FREE but= not > > MADV_DONTNEED? > Hi Song, > Android ART use MADV_FREE, please refer to the following link. > https://android-review.googlesource.com/c/platform/art/+/2633132 thanks! It seems like the art guys owe us some changelogs, with no data and no reason =EF=BC=9A-=EF=BC=89 Your change seems reasonable to me. Since users plan to free those anon folios, we should avoid placing them in hard-to-reclaim areas, which could lead to unnecessarily reclaiming file folios instead. > > > > > Signed-off-by: gao xu > > > --- > > > V1 -> V2: Based on the latest mm-unstable, recreate the patch. > > > > > > mm/swap.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/mm/swap.c b/mm/swap.c > > > index 6b838986d..e0dbfc983 100644 > > > --- a/mm/swap.c > > > +++ b/mm/swap.c > > > @@ -641,7 +641,7 @@ static void lru_lazyfree(struct lruvec *lruvec, s= truct > > folio *folio) > > > * anonymous folios > > > */ > > > folio_clear_swapbacked(folio); > > > - lruvec_add_folio(lruvec, folio); > > > + lruvec_add_folio_tail(lruvec, folio); > > > > > > __count_vm_events(PGLAZYFREE, nr_pages); > > > __count_memcg_events(lruvec_memcg(lruvec), PGLAZYFREE, > > > nr_pages); > > > -- > > > 2.17.1 Thanks Barry