From: "JP Kobryn (Meta)" <jp.kobryn@linux.dev>
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: linux-mm@kvack.org, akpm@linux-foundation.org, vbabka@kernel.org,
mhocko@suse.com, willy@infradead.org, hannes@cmpxchg.org,
riel@surriel.com, chrisl@kernel.org, kasong@tencent.com,
shikemeng@huaweicloud.com, nphamcs@gmail.com, bhe@redhat.com,
baohua@kernel.org, youngjun.park@lge.com, qi.zheng@linux.dev,
axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com,
linux-kernel@vger.kernel.org, kernel-team@meta.com
Subject: Re: [PATCH] mm/lruvec: preemptively free dead folios during lru_add drain
Date: Thu, 23 Apr 2026 14:18:16 -0700 [thread overview]
Message-ID: <31f1f2a2-3fcd-4a65-94b4-f1f2921b2e8d@linux.dev> (raw)
In-Reply-To: <aepdmTw2tPJ9oMc3@linux.dev>
On 4/23/26 11:46 AM, Shakeel Butt wrote:
> On Thu, Apr 23, 2026 at 09:43:07AM -0700, JP Kobryn (Meta) wrote:
>> Of all observable lruvec lock contention in our fleet, we find that ~24%
>> occurs when dead folios are present in lru_add batches at drain time.
>
> So, when they were added to the percpu lru cache, they were alive but during
> their stay in lru cache, they were freed (last non-lrucache ref dropped) or
> somehow we are adding folio where the caller drops the reference just after
> adding to percpu lru cache e.g. folio_putback_lru() ?
Both scenarios can occur. Whether all callers put the folio while it is
on the per-cpu batch or putback drops ref from 2 to 1, the batch ref
is what remains.
[...]
>
> Overall the code looks good but I do wonder if we can add something similar to
> folio_add_lru() and if that would be enough.
folio_add_lru() is how it gets onto the batch. But it's still alive at
that point - at least one caller ref.
next prev parent reply other threads:[~2026-04-23 21:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-23 16:43 [PATCH] mm/lruvec: preemptively free dead folios during lru_add drain JP Kobryn (Meta)
2026-04-23 17:15 ` Matthew Wilcox
2026-04-23 18:21 ` JP Kobryn (Meta)
2026-04-23 18:46 ` Shakeel Butt
2026-04-23 21:18 ` JP Kobryn (Meta) [this message]
2026-04-23 22:45 ` Shakeel Butt
2026-04-23 23:22 ` Barry Song
2026-04-23 23:46 ` Shakeel Butt
2026-04-23 23:53 ` Barry Song
2026-04-24 1:46 ` JP Kobryn (Meta)
2026-04-24 15:38 ` JP Kobryn (Meta)
2026-04-24 16:30 ` Shakeel Butt
2026-04-24 7:37 ` [syzbot ci] " syzbot ci
2026-04-24 8:32 ` [PATCH] " Michal Hocko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=31f1f2a2-3fcd-4a65-94b4-f1f2921b2e8d@linux.dev \
--to=jp.kobryn@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=bhe@redhat.com \
--cc=chrisl@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=kasong@tencent.com \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=nphamcs@gmail.com \
--cc=qi.zheng@linux.dev \
--cc=riel@surriel.com \
--cc=shakeel.butt@linux.dev \
--cc=shikemeng@huaweicloud.com \
--cc=vbabka@kernel.org \
--cc=weixugc@google.com \
--cc=willy@infradead.org \
--cc=youngjun.park@lge.com \
--cc=yuanchu@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.