Message ID | 20250303163014.1128035-1-david@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | mm: MM owner tracking for large folios (!hugetlb) + CONFIG_NO_PAGE_MAPCOUNT | expand |
On Mon, 3 Mar 2025 17:29:53 +0100 David Hildenbrand <david@redhat.com> wrote: > Some smaller change based on Zi Yan's feedback (thanks!). > > > Let's add an "easy" way to decide -- without false positives, without > page-mapcounts and without page table/rmap scanning -- whether a large > folio is "certainly mapped exclusively" into a single MM, or whether it > "maybe mapped shared" into multiple MMs. > > Use that information to implement Copy-on-Write reuse, to convert > folio_likely_mapped_shared() to folio_maybe_mapped_share(), and to > introduce a kernel config option that let's us not use+maintain > per-page mapcounts in large folios anymore. > > ... > > The goal is to make CONFIG_NO_PAGE_MAPCOUNT the default at some point, > to then slowly make it the only option, as we learn about real-life > impacts and possible ways to mitigate them. I expect that we'll get very little runtime testing this way, and we won't hear about that testing unless there's a failure. Part of me wants to make it default on right now, but that's perhaps a bit mean to linux-next testers. Or perhaps default-off for now and switch to default-y for 6.15-rcX? I suggest this just to push things along more aggressively - we may choose to return to default-off after a few weeks of -rcX.
On 03.03.25 23:43, Andrew Morton wrote: > On Mon, 3 Mar 2025 17:29:53 +0100 David Hildenbrand <david@redhat.com> wrote: > >> Some smaller change based on Zi Yan's feedback (thanks!). >> >> >> Let's add an "easy" way to decide -- without false positives, without >> page-mapcounts and without page table/rmap scanning -- whether a large >> folio is "certainly mapped exclusively" into a single MM, or whether it >> "maybe mapped shared" into multiple MMs. >> >> Use that information to implement Copy-on-Write reuse, to convert >> folio_likely_mapped_shared() to folio_maybe_mapped_share(), and to >> introduce a kernel config option that let's us not use+maintain >> per-page mapcounts in large folios anymore. >> >> ... >> >> The goal is to make CONFIG_NO_PAGE_MAPCOUNT the default at some point, >> to then slowly make it the only option, as we learn about real-life >> impacts and possible ways to mitigate them. > > I expect that we'll get very little runtime testing this way, and we > won't hear about that testing unless there's a failure. > > Part of me wants to make it default on right now, but that's perhaps a > bit mean to linux-next testers. Yes, letting this sit at least for some time before we enable it in linux-next as default might make sense. > > Or perhaps default-off for now and switch to default-y for 6.15-rcX? Maybe default-off for now, until we rebase mm-unstable to 6.15-rcX. Then, default on first in linux-next, and then upstream (6.16). > > I suggest this just to push things along more aggressively - we may > choose to return to default-off after a few weeks of -rcX. Yeah, I'm usually very careful; sometimes a bit too careful :)