[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250925085429.41607-1-dev.jain@arm.com>
Date: Thu, 25 Sep 2025 14:24:29 +0530
From: Dev Jain <dev.jain@....com>
To: akpm@...ux-foundation.org,
david@...hat.com
Cc: lorenzo.stoakes@...cle.com,
Liam.Howlett@...cle.com,
vbabka@...e.cz,
rppt@...nel.org,
surenb@...gle.com,
mhocko@...e.com,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
Dev Jain <dev.jain@....com>
Subject: [PATCH] mm: move rmap of mTHP upon CoW reuse
At wp-fault time, when we find that a folio is exclusively mapped, we move
folio->mapping to the faulting VMA's anon_vma, so that rmap overhead
reduces. This is currently done for small folios (base pages) and
PMD-mapped THPs. Do this for mTHP too.
Signed-off-by: Dev Jain <dev.jain@....com>
---
mm-selftests pass.
mm/memory.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/mm/memory.c b/mm/memory.c
index 7e32eb79ba99..ec04d2cec6b1 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4014,6 +4014,11 @@ static bool __wp_can_reuse_large_anon_folio(struct folio *folio,
* an additional folio reference and never ended up here.
*/
exclusive = true;
+
+ if (folio_trylock(folio)) {
+ folio_move_anon_rmap(folio, vma);
+ folio_unlock(folio);
+ }
unlock:
folio_unlock_large_mapcount(folio);
return exclusive;
--
2.30.2
Powered by blists - more mailing lists