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 5BF5BE7716D for ; Thu, 5 Dec 2024 15:20:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D93176B00FF; Thu, 5 Dec 2024 10:19:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AB0EF6B00D2; Thu, 5 Dec 2024 10:19:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B71316B00AA; Thu, 5 Dec 2024 10:19:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 32B876B007B for ; Mon, 23 Sep 2024 18:19:22 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D584E1A163F for ; Mon, 23 Sep 2024 22:19:21 +0000 (UTC) X-FDA: 82597420122.09.F2130C1 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf15.hostedemail.com (Postfix) with ESMTP id D0085A0004 for ; Mon, 23 Sep 2024 22:19:18 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ksjWG8cK; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=quarantine); spf=pass (imf15.hostedemail.com: domain of minchan.kim@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=minchan.kim@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727129924; a=rsa-sha256; cv=none; b=j46stHu8MobEjb7g94ysu4iVTRWLx3CIscVXjXBAOcDF8YQQ2pOvZwU/+0SP+k1OifF7Yy Twx4Ptr2hc6F3fuxw/iOGNqtjKyngBU0Rr6Z96KwKl4HyIjGKNzbEyx7F4PwqPKAMJZueL zqxgdSIqtYHf/Oy1Srb2dO8tzMz9b1I= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ksjWG8cK; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=quarantine); spf=pass (imf15.hostedemail.com: domain of minchan.kim@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=minchan.kim@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727129924; h=from:from:sender: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=1UeJcpgYD88W0L9FZruLS+qqg8EDcuoHw4+s6LTDg7w=; b=tven7dyNCWhPLpYUMt0XM3jzHEDNXVTnI9/RYfOo3KjmHHHpdLB1oFNtItbAq9dDkXjCXO GvjdW7H6WCVlKpdWUKwgs/tQLwF/cLmtZVWsSYq+rlJcpEZpV9Au6bG18DC+UhXnreSobC YcwEEdHv8GFTf034aMtNopexX77PHb0= Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2054e22ce3fso47802445ad.2 for ; Mon, 23 Sep 2024 15:19:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727129957; x=1727734757; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=1UeJcpgYD88W0L9FZruLS+qqg8EDcuoHw4+s6LTDg7w=; b=ksjWG8cKZ7eCMhDTV0icFU/8DDgSfBm9H0c34T68dMZ5AqNiEu/qouWz+rLaWWCDEd +mBrKXtnJXMrypNxIT5EGGCH0Tzam0yWcxeYoUsHxLazs4HlsQXtE24uwkQyMSdcIlFR LUGF+AmLiVcqZaNmtc6UEHuQMAP1fEUOy1CI99noL0rP/BwRT1lLfQB/+//j4nMaKMLh b+qgx6G+47bKg83PBpgR2i+WgIyCM0woIAvc37yYBUOcin9/h45SdxrjU0F6ny6iWH+m gtQZM05fIhufHvAPeaR1cL/LYoKJNtZWttDL76BH0aiZVh+O0oThXbeKXm9CznAloI7d 6j9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727129957; x=1727734757; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1UeJcpgYD88W0L9FZruLS+qqg8EDcuoHw4+s6LTDg7w=; b=orgFu3o0Pbej1Pwa7gZGNusd8k8qTXiYTtsrTQiy8n/12GxBS5zOvjo4VEGRtCllqZ ajLXVJ0rd0hKH1pnlh5UzGWbP11GfOZd1N0E5bj6RiCJUDxGLOUxkb66b1R9gGmck3+d BKkWgPZNmg1nRBwpUg1Pumpkaleo8dbRIjU6A7gE01Vs0LntLfIkgF4q1c7YTMg9Pkr0 /VkOjY+EJkSSyPg495Tf5Hd8JWQFUo8zh2SuvScIgNsaHVf2gwXyWDmiXrEcehzcRHKI UqQV/F4J4tfCEzcbA8kXRqqEL9TUGR5Rv5ZnRxARci3/LeWP4BhY4tT3sR/jPlJQGVPP dAdA== X-Forwarded-Encrypted: i=1; AJvYcCUjzePTaPeI5PnDuOq005XZ+m2j3rWL3eDJdhvJgc/TCqi6rqvJw3x5vDbkh9oUucvJbz0jDy5czQ==@kvack.org X-Gm-Message-State: AOJu0YyGEmmK3pHXW3jibwOL8oQI921yhvtntT3tM51H0g1uL9oWBhwF pgpk7FZa/t83l2LcArKlaidflscwL5TusiSSj7zFEkaVNJ3iPDqh X-Google-Smtp-Source: AGHT+IGNR2LO8u9JwCxVrWvR5wqlg1bZ1tMgAQLgrpLA4tQG7jnxP+dnmCccmvO9WjJTtsP9yKsTEw== X-Received: by 2002:a17:90a:d788:b0:2c9:6aa9:1d76 with SMTP id 98e67ed59e1d1-2dd7f411c48mr16822919a91.18.1727129957403; Mon, 23 Sep 2024 15:19:17 -0700 (PDT) Received: from google.com ([2a00:79e0:2e14:7:5ad3:473c:219d:b8c2]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2dd6eec8bb9sm9935127a91.29.2024.09.23.15.19.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Sep 2024 15:19:16 -0700 (PDT) Date: Mon, 23 Sep 2024 15:19:14 -0700 From: Minchan Kim To: Barry Song <21cnbao@gmail.com> Cc: David Hildenbrand , akpm@linux-foundation.org, linux-mm@kvack.org, mhocko@suse.com, fengbaopeng@honor.com, gaoxu2@honor.com, hailong.liu@oppo.com, kaleshsingh@google.com, linux-kernel@vger.kernel.org, lokeshgidra@google.com, ngeoffray@google.com, shli@fb.com, surenb@google.com, yipengxiang@honor.com, yuzhao@google.com, Barry Song Subject: Re: [PATCH RFC] mm: mglru: provide a separate list for lazyfree anon folios Message-ID: References: <20240914063746.46290-1-21cnbao@gmail.com> <92f97c8e-f23d-4c6e-9f49-230fb4e96c46@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Pre-Result: action=add header; module=dmarc; Action set by DMARC X-Rspam-User: X-Rspamd-Queue-Id: D0085A0004 X-Rspamd-Server: rspam01 X-Stat-Signature: 9jqsfq8wc6jyhacw9muebf5zaisny91w X-Rspam: Yes X-HE-Tag: 1727129958-874173 X-HE-Meta: U2FsdGVkX18DocP9bhqrHKESapunynDYdUSLyma7sL2Xc/8PrO5nWEHodxBXdWW/DLqATTPNVT/4y5Gq27qfn6VW9dunzDZzF6CAmjOH/D7svLMysC6vjBXmiJvawCMKNcKhuU0XAshkuankTKj8cTmDCB7hlE/46fSFHl7T7Ok4gj1yb7APSB5CXio27ksI9gGUgX3nSgQ9X6WRPIcjFG4FVrOxLgdHueyWAQmAwDYmPCwn9gQjZyLGhQoCl5RnnyEKV4HrO7IK/gcHrBz5fF5M0i9uhbu1vWPR5TBC/RhZvCHC4B6yrtQbCHOpeo5Mqzl39RyTehj96eeLWMmsFcXg7f2m5XoM+oVJNbvS7nnuKMmts5yQ3brde+DteFeMj9jaL+dkp6jmxzFIBOyzQycJ/VM3HjBmP3IjUTRNVIjGsgbqxznJEJMWXAXzIK3rmukim8JNLqq8P24tE2gyTbIn0fFqu1tLh6+53D7Vx8bDk6nO8PnvJnCZpFPjz+7lJLFi8Q5T52GiRJSGM5avoFyxr9F4c26zwoPp0FId7fHlSjrQiBbM9pGz7/ieALZKSYFvrThu8cNMs0RpIc2hM7DEfOJRQ/Lj3kl/f4JOwncWebe5giRkAy95IQ5oPv1kpkj8Yk4mnw01j1Lbrlo51zrPXHRkqPEmgcDwZMLzVYrMjF7hcEiCpiSR0JhyIn9029bxSfrpK4JRUfY07wxWetT8tE1x1C8tb9O6+bHykxfJPJNGzKXN1pBf06opThlRLfOI0NF+09zm3CCUfLUujA/D6fmqTHfzXa07dABpKY6Ob6DecD3J6DGZ/MNJF1lm2tqRQ3Q7DNkrM0PxnU6LHpjpGsQZo0elsnxs2pZbAJmJnkpe9o9McxQIjt0Dwa1+7yUu+32CLCdOqs2p4GYdBvI0p9u1EidI5feEAhfAoCUt2biClG/pApMVwaq7seQtC7SeQzO4InkKjydY/GD yL6P4pmk KcoelEV/04P37MKReMWRM9qh3Ep8ou5ctLBn86/D3aGXjRpLYTq1z8nQJsRN2YiT+zH6v5I3yPcTzVH3nZyY4jod7pfgnzI4a5WG794XEEF1BFFMt3Nsy/jg/50bBbLMn44rU9EYkyBrIKM+vBqbfGyqmMeUSIQ0Rma66fped+fhseXv8WpBkb5GgG0FKZunX820oG1LQMZsJyuuOsiU/6zk5wzPeyOPby23hWRMMZn2E5N6CpOfgjX1t/lnRYFBzyTh8gC1ImNLypH/dS2NFrDZXHB2525OePo/+9tq5e6BzpTIX/kgbRJeTyoRROxp1gEEVpAfDbYdLNbzrQ4omu+5Y5XcvBQ2QDUv2cq4WvnkdfrWQPZl88Bp1ctHPoZZfXs8il6Yo2bUmXLHxBjaPQy3PMNH2etDmri2GXUASX7Fz0ZNVmHP1GB8RyFlh0tYlx7Rmv5vY3l3udZ5Wo2Km/gOBirw9LdSlgDZ5d3rvn6EL3gxhaON/kjznD2eL2tic73EFc/q550A+6sDAMJ562Lwf+3d3LDlrhNygrtT58vMaDiXMO5zbNdd1R3DVxEmDUUHV7cwijjse9MULeNfHFfEZqO1GMPBpu8ca8503Aiqyq/ZoKTbuLKaiictCHJskIev1dXTn4hzFe6raTQeaLjynSAv2iBBN1/2WuyYs4Td9bpMwk3bmIYTUcINifItBMuKRD+RB4gHJrrro5xqEExSmzwKBc1Vyjjxl6lJ1SqhoOEGSAtKV3tjcUZFTzNTOl34K X-Bogosity: Ham, tests=bogofilter, spamicity=0.000163, 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 Fri, Sep 20, 2024 at 01:23:57PM +1200, Barry Song wrote: > On Wed, Sep 18, 2024 at 12:02 AM David Hildenbrand wrote: > > > > On 14.09.24 08:37, Barry Song wrote: > > > From: Barry Song > > > > > > This follows up on the discussion regarding Gaoxu's work[1]. It's > > > unclear if there's still interest in implementing a separate LRU > > > list for lazyfree folios, but I decided to explore it out of > > > curiosity. > > > > > > According to Lokesh, MADV_FREE'd anon folios are expected to be > > > released earlier than file folios. One option, as implemented > > > by Gao Xu, is to place lazyfree anon folios at the tail of the > > > file's `min_seq` generation. However, this approach results in > > > lazyfree folios being released in a LIFO manner, which conflicts > > > with LRU behavior, as noted by Michal. > > > > > > To address this, this patch proposes maintaining a separate list > > > for lazyfree anon folios while keeping them classified under the > > > "file" LRU type to minimize code changes. These lazyfree anon > > > folios will still be counted as file folios and share the same > > > generation with regular files. In the eviction path, the lazyfree > > > list will be prioritized for scanning before the actual file > > > LRU list. > > > > > > > What's the downside of another LRU list? Do we have any experience on that? > > Essentially, the goal is to address the downsides of using a single LRU list for > files and lazyfree anonymous pages - seriously more files re-faults. > > I'm not entirely clear on the downsides of having an additional LRU > list. While it > does increase complexity, it doesn't seem to be significant. It's not a catastrophic[1]. I prefer the idea of an additional LRU because it offers flexibility for various potential use cases[2]. orthgonal topic(but may be interest for someone) My main interest in a new LRU list is to enable the system to maintain a quickly reclaimable memory pool and expose the size to the admin with a knob to decide how many memory pool they want. This pool would consist of clean, unmapped pages from both the page cache and/or the swap cache. This would allow the system to reclaim memory quickly when free memory is low, at the cost of minor fault overhead. [1] https://lore.kernel.org/linux-kernel//1448006568-16031-15-git-send-email-minchan@kernel.org/ [2] https://lkml.org/lkml/2012/6/19/24