On 21.08.23 16:17, Matthew Wilcox (Oracle) wrote:
The only caller already has a folio, so use it to save calling
compound_head() in PageLRU() and remove a use of page->mapping.
Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
include/linux/secretmem.h | 15 +++++++--------
mm/gup.c | 2 +-
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/include/linux/secretmem.h b/include/linux/secretmem.h
index 988528b5da43..6996f1f53f14 100644
--- a/include/linux/secretmem.h
+++ b/include/linux/secretmem.h
@@ -6,24 +6,23 @@
extern const struct address_space_operations secretmem_aops;
-static inline bool page_is_secretmem(struct page *page)
+static inline bool folio_is_secretmem(struct folio *folio)
{
struct address_space *mapping;
/*
- * Using page_mapping() is quite slow because of the actual call
- * instruction and repeated compound_head(page) inside the
- * page_mapping() function.
+ * Using folio_mapping() is quite slow because of the actual call
+ * instruction.
* We know that secretmem pages are not compound and LRU so we can
* save a couple of cycles here.
*/
- if (PageCompound(page) || !PageLRU(page))
+ if (folio_test_large(folio) || folio_test_lru(folio))
return false;
You converted a "!PageLRU(page)" into a "folio_test_lru(folio)".
Shouldn't that be a "!folio_test_lru(folio)" ?
--
Cheers,
David / dhildenb