On Thu, Aug 10, 2023 at 10:37:04AM +0200, David Hildenbrand wrote: > 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" :) Is the race described about mapcount being changed right after it's read? Are you aware of anything specific that will be broken, and will be fixed with this patch? I assume mapcount==1 will be very special in this case when e.g. holding a pgtable lock, other than that I won't be surprised if mapcount changes in parallel. But I must confess I don't really have any thorough digests on this whole matter. > > > 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. Having a total mapcount does sound helpful if partial folio is common indeed. I'm curious whether that'll be so common after the large anon folio work - isn't it be sad if partial folio will be a norm? It sounds to me that's the case when small page sizes should be used.. and it's prone to waste? -- Peter Xu