blob: c36ba61b36004bbf25e4cf0c8762260a0448b61c [file] [log] [blame]
From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: mm: add split_folio()
Date: Fri, 2 Sep 2022 20:46:00 +0100
This wrapper removes a need to use split_huge_page(&folio->page). Convert
two callers.
Link: https://lkml.kernel.org/r/20220902194653.1739778-5-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/huge_mm.h | 5 +++++
mm/shmem.c | 2 +-
mm/truncate.c | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
--- a/include/linux/huge_mm.h~mm-add-split_folio
+++ a/include/linux/huge_mm.h
@@ -444,6 +444,11 @@ static inline int split_folio_to_list(st
return split_huge_page_to_list(&folio->page, list);
}
+static inline int split_folio(struct folio *folio)
+{
+ return split_folio_to_list(folio, NULL);
+}
+
/*
* archs that select ARCH_WANTS_THP_SWAP but don't support THP_SWP due to
* limitations in the implementation like arm64 MTE can override this to
--- a/mm/shmem.c~mm-add-split_folio
+++ a/mm/shmem.c
@@ -629,7 +629,7 @@ next:
goto move_back;
}
- ret = split_huge_page(&folio->page);
+ ret = split_folio(folio);
folio_unlock(folio);
folio_put(folio);
--- a/mm/truncate.c~mm-add-split_folio
+++ a/mm/truncate.c
@@ -240,7 +240,7 @@ bool truncate_inode_partial_folio(struct
folio_invalidate(folio, offset, length);
if (!folio_test_large(folio))
return true;
- if (split_huge_page(&folio->page) == 0)
+ if (split_folio(folio) == 0)
return true;
if (folio_test_dirty(folio))
return false;
_