On Mon, 8 Sep 2025, Matthew Wilcox wrote: > On Mon, Sep 08, 2025 at 03:27:47AM -0700, Hugh Dickins wrote: > > On Mon, 1 Sep 2025, David Hildenbrand wrote: > > > On 01.09.25 09:52, David Hildenbrand wrote: > > > > On 01.09.25 03:17, Hugh Dickins wrote: > > > >> On Mon, 1 Sep 2025, Matthew Wilcox wrote: > > > >>> On Sun, Aug 31, 2025 at 02:01:16AM -0700, Hugh Dickins wrote: > > > >>>> 6.16's folio_expected_ref_count() is forgetting the PG_private_2 flag, > > > >>>> which (like PG_private, but not in addition to PG_private) counts for > > > >>>> 1 more reference: it needs to be using folio_has_private() in place of > > > >>>> folio_test_private(). > > > >>> > > > >>> No, it doesn't. I know it used to, but no filesystem was actually doing > > > >>> that. So I changed mm to match how filesystems actually worked. > > > > I think Matthew may be remembering how he wanted it to behave (? but he > > wanted it to go away completely) rather than how it ended up behaving: > > we've both found that PG_private_2 always goes with refcount increment. > > Let me explain that better. No filesystem followed the documented rule > that the refcount must be incremented by one if either PG_private or > PG_private_2 was set. And no surprise; that's a very complicated rule > for filesystems to follow. Many of them weren't even following the rule > to increment the refcount by one when PG_private was set. Thanks, yes, I hadn't realized that you were referring to the +1 (versus +2) part of it: yes, a quite unnecessarily difficult rule to follow. ... > So the current behaviour where we set private_2 and bump the refcount, > but don't take the private_2 status into account is the safe one, > because the elevated refcount means we'll skip the PG_fscache folio. > Maybe it'd be better to wait for it to clear. But since Dave Howells > is busy killing it off, I'm just inclined to wait for that to happen. Yes, that's where my internalized-Matthew brought me in the end; though killing off PG_private_2 seems to have been just around the corner for a very long time. It's a pity that there isn't much incentive on ceph folks to get it fixed: the one who suffers is the compactor or pinner. Hugh