| From: "Matthew Wilcox (Oracle)" <willy@infradead.org> |
| Subject: mm: remove PageMlocked |
| Date: Wed, 21 Aug 2024 20:34:39 +0100 |
| |
| This flag is now only used on folios, so we can remove all the page |
| accessors. |
| |
| Link: https://lkml.kernel.org/r/20240821193445.2294269-7-willy@infradead.org |
| Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/mm/unevictable-lru.rst | 4 ++-- |
| include/linux/page-flags.h | 13 ++++++++----- |
| 2 files changed, 10 insertions(+), 7 deletions(-) |
| |
| --- a/Documentation/mm/unevictable-lru.rst~mm-remove-pagemlocked |
| +++ a/Documentation/mm/unevictable-lru.rst |
| @@ -253,8 +253,8 @@ Basic Management |
| |
| mlocked pages - pages mapped into a VM_LOCKED VMA - are a class of unevictable |
| pages. When such a page has been "noticed" by the memory management subsystem, |
| -the page is marked with the PG_mlocked flag. This can be manipulated using the |
| -PageMlocked() functions. |
| +the folio is marked with the PG_mlocked flag. This can be manipulated using |
| +folio_set_mlocked() and folio_clear_mlocked() functions. |
| |
| A PG_mlocked page will be placed on the unevictable list when it is added to |
| the LRU. Such pages can be "noticed" by memory management in several places: |
| --- a/include/linux/page-flags.h~mm-remove-pagemlocked |
| +++ a/include/linux/page-flags.h |
| @@ -585,12 +585,15 @@ FOLIO_FLAG(unevictable, FOLIO_HEAD_PAGE) |
| FOLIO_TEST_CLEAR_FLAG(unevictable, FOLIO_HEAD_PAGE) |
| |
| #ifdef CONFIG_MMU |
| -PAGEFLAG(Mlocked, mlocked, PF_NO_TAIL) |
| - __CLEARPAGEFLAG(Mlocked, mlocked, PF_NO_TAIL) |
| - TESTSCFLAG(Mlocked, mlocked, PF_NO_TAIL) |
| +FOLIO_FLAG(mlocked, FOLIO_HEAD_PAGE) |
| + __FOLIO_CLEAR_FLAG(mlocked, FOLIO_HEAD_PAGE) |
| + FOLIO_TEST_CLEAR_FLAG(mlocked, FOLIO_HEAD_PAGE) |
| + FOLIO_TEST_SET_FLAG(mlocked, FOLIO_HEAD_PAGE) |
| #else |
| -PAGEFLAG_FALSE(Mlocked, mlocked) __CLEARPAGEFLAG_NOOP(Mlocked, mlocked) |
| - TESTSCFLAG_FALSE(Mlocked, mlocked) |
| +FOLIO_FLAG_FALSE(mlocked) |
| + __FOLIO_CLEAR_FLAG_NOOP(mlocked) |
| + FOLIO_TEST_CLEAR_FLAG_FALSE(mlocked) |
| + FOLIO_TEST_SET_FLAG_FALSE(mlocked) |
| #endif |
| |
| #ifdef CONFIG_ARCH_USES_PG_UNCACHED |
| _ |