Re: [PATCH mm-unstable v1] mm: add a total mapcount for large folios

From: David Hildenbrand
Date: Thu Aug 10 2023 - 04:37:59 EST


On 10.08.23 05:25, Matthew Wilcox wrote:
On Wed, Aug 09, 2023 at 05:23:46PM -0400, Peter Xu wrote:
Hi, David,

Some pure questions below..

On Wed, Aug 09, 2023 at 10:32:56AM +0200, David Hildenbrand wrote:
Let's track the total mapcount for all large folios in the first subpage.

The total mapcount is what we actually want to know in folio_mapcount()
and it is also sufficient for implementing folio_mapped(). This also
gets rid of any "raceiness" concerns as expressed in
folio_total_mapcount().

Any more information for that "raciness" described here?

UTSL.

/*
* Add all the PTE mappings of those pages mapped by PTE.
* Limit the loop to folio_nr_pages_mapped()?
* Perhaps: given all the raciness, that may be a good or a bad idea.
*/


Yes, that comment from Hugh primarily discusses how we could possibly optimize the loop, and if relying on folio_nr_pages_mapped() to reduce the iterations would be racy. As far as I can see, there are cases where "it would be certainly a bad idea" :)


In the other comment in that function, it's also made clear what the traditional behavior with PMD-mappable THP was "In the common case, avoid the loop when no pages mapped by PTE", which will no longer hold with sub-PMD THP.

--
Cheers,

David / dhildenb