From: John Garry <[email protected]>

Add page flag PG_atomic, meaning that a folio needs to be written back
atomically. This will be used by for handling RWF_ATOMIC buffered IO
in upcoming patches.

Co-developed-by: Ojaswin Mujoo <[email protected]>
Signed-off-by: Ojaswin Mujoo <[email protected]>
Signed-off-by: John Garry <[email protected]>
---
 include/linux/page-flags.h     | 5 +++++
 include/trace/events/mmflags.h | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 0091ad1986bf..bdce0f58a77a 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -111,6 +111,7 @@ enum pageflags {
        PG_swapbacked,          /* Page is backed by RAM/swap */
        PG_unevictable,         /* Page is "unevictable"  */
        PG_dropbehind,          /* drop pages on IO completion */
+       PG_atomic,              /* Page is marked atomic for buffered atomic 
writes */
 #ifdef CONFIG_MMU
        PG_mlocked,             /* Page is vma mlocked */
 #endif
@@ -644,6 +645,10 @@ FOLIO_FLAG(unevictable, FOLIO_HEAD_PAGE)
        __FOLIO_CLEAR_FLAG(unevictable, FOLIO_HEAD_PAGE)
        FOLIO_TEST_CLEAR_FLAG(unevictable, FOLIO_HEAD_PAGE)
 
+FOLIO_FLAG(atomic, FOLIO_HEAD_PAGE)
+       __FOLIO_CLEAR_FLAG(atomic, FOLIO_HEAD_PAGE)
+       FOLIO_TEST_CLEAR_FLAG(atomic, FOLIO_HEAD_PAGE)
+
 #ifdef CONFIG_MMU
 FOLIO_FLAG(mlocked, FOLIO_HEAD_PAGE)
        __FOLIO_CLEAR_FLAG(mlocked, FOLIO_HEAD_PAGE)
diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h
index aa441f593e9a..a8294f6146a5 100644
--- a/include/trace/events/mmflags.h
+++ b/include/trace/events/mmflags.h
@@ -159,7 +159,8 @@ TRACE_DEFINE_ENUM(___GFP_LAST_BIT);
        DEF_PAGEFLAG_NAME(reclaim),                                     \
        DEF_PAGEFLAG_NAME(swapbacked),                                  \
        DEF_PAGEFLAG_NAME(unevictable),                                 \
-       DEF_PAGEFLAG_NAME(dropbehind)                                   \
+       DEF_PAGEFLAG_NAME(dropbehind),                                  \
+       DEF_PAGEFLAG_NAME(atomic)                                       \
 IF_HAVE_PG_MLOCK(mlocked)                                              \
 IF_HAVE_PG_HWPOISON(hwpoison)                                          \
 IF_HAVE_PG_IDLE(idle)                                                  \
-- 
2.51.0


Reply via email to