[PATCH 15/26] mm: Add __PAGEFLAG_FALSE

From: Brendan Jackman
Date: Fri Jul 12 2024 - 13:05:56 EST


__PAGEFLAG_FALSE is a non-atomic equivalent of PAGEFLAG_FALSE.

Signed-off-by: Brendan Jackman <jackmanb@xxxxxxxxxx>
---
include/linux/page-flags.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 4bf1c25fd1dc5..57fa58899a661 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -488,6 +488,10 @@ static inline int Page##uname(const struct page *page) { return 0; }
FOLIO_SET_FLAG_NOOP(lname) \
static inline void SetPage##uname(struct page *page) { }

+#define __SETPAGEFLAG_NOOP(uname, lname) \
+static inline void __folio_set_##lname(struct folio *folio) { } \
+static inline void __SetPage##uname(struct page *page) { }
+
#define CLEARPAGEFLAG_NOOP(uname, lname) \
FOLIO_CLEAR_FLAG_NOOP(lname) \
static inline void ClearPage##uname(struct page *page) { }
@@ -510,6 +514,9 @@ static inline int TestClearPage##uname(struct page *page) { return 0; }
#define TESTSCFLAG_FALSE(uname, lname) \
TESTSETFLAG_FALSE(uname, lname) TESTCLEARFLAG_FALSE(uname, lname)

+#define __PAGEFLAG_FALSE(uname, lname) TESTPAGEFLAG_FALSE(uname, lname) \
+ __SETPAGEFLAG_NOOP(uname, lname) __CLEARPAGEFLAG_NOOP(uname, lname)
+
__PAGEFLAG(Locked, locked, PF_NO_TAIL)
FOLIO_FLAG(waiters, FOLIO_HEAD_PAGE)
PAGEFLAG(Error, error, PF_NO_TAIL) TESTCLEARFLAG(Error, error, PF_NO_TAIL)

--
2.45.2.993.g49e7a77208-goog