From 08b0b0059bf1c2e8637f724cc7cc4d29b1e808de Mon Sep 17 00:00:00 2001 From: "Matthew Wilcox (Oracle)" Date: Wed, 16 Dec 2020 11:06:33 -0500 Subject: mm: Add flush_dcache_folio() This is a default implementation which calls flush_dcache_page() on each page in the folio. If architectures can do better, they should implement their own version of it. Signed-off-by: Matthew Wilcox (Oracle) Acked-by: Vlastimil Babka --- mm/util.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mm/util.c') diff --git a/mm/util.c b/mm/util.c index 96a5e7185f65..bf860838282c 100644 --- a/mm/util.c +++ b/mm/util.c @@ -1076,3 +1076,14 @@ void page_offline_end(void) up_write(&page_offline_rwsem); } EXPORT_SYMBOL(page_offline_end); + +#ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO +void flush_dcache_folio(struct folio *folio) +{ + long i, nr = folio_nr_pages(folio); + + for (i = 0; i < nr; i++) + flush_dcache_page(folio_page(folio, i)); +} +EXPORT_SYMBOL(flush_dcache_folio); +#endif -- cgit v1.2.3