linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] mm: introduce snapshot_page()
@ 2025-07-14 13:16 Luiz Capitulino
  2025-07-14 13:16 ` [PATCH v3 1/4] mm/memory: introduce is_huge_zero_pfn() and use it in vm_normal_page_pmd() Luiz Capitulino
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Luiz Capitulino @ 2025-07-14 13:16 UTC (permalink / raw)
  To: david, willy, akpm; +Cc: linux-kernel, linux-mm, shivankg, sj, harry.yoo

Hi,

The series introduction will follow the changelog. This is against bc9ff192a6c9 .

Changelog
=========

v2 -> v3
  - Small snapshot_page() refactor to simplify and fix stack-out-of-bugs bug
    reported by Harry Yoo
  - Use clear_compound_head() in snapshot_page() (Shivank)
  - Read head pointer from ps->page_snapshot() for tail page case (Shivank)
  - Improve comments and macro name in snapshot_page() (David)

v1 -> v2
  - Include is_huge_zero_pfn() patch and use it (David)
  - Move free page detection to snapshot_page() (David)
  - Changelog improvements (Shivank)
  - Added Acked-bys

RFC -> v1
  - Include <linux/page_idle.h> to avoid build error on sh arch

Introduction
============

This series introduces snapshot_page(), a helper function that can be used
to create a snapshot of a struct page and its associated struct folio.

This function is intended to help callers with a consistent view of a
a folio while reducing the chance of encountering partially updated or
inconsistent state, such as during folio splitting which could lead to
crashes and BUG_ON()s being triggered.

David Hildenbrand (1):
  mm/memory: introduce is_huge_zero_pfn() and use it in
    vm_normal_page_pmd()

Luiz Capitulino (3):
  mm/util: introduce snapshot_page()
  proc: kpagecount: use snapshot_page()
  fs: stable_page_flags(): use snapshot_page()

 fs/proc/page.c          | 50 +++++++++++++++-----------
 include/linux/huge_mm.h | 12 ++++++-
 include/linux/mm.h      | 19 ++++++++++
 mm/debug.c              | 42 +++-------------------
 mm/memory.c             |  2 +-
 mm/util.c               | 79 +++++++++++++++++++++++++++++++++++++++++
 6 files changed, 144 insertions(+), 60 deletions(-)

-- 
2.50.0



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2025-07-17 15:54 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-14 13:16 [PATCH v3 0/4] mm: introduce snapshot_page() Luiz Capitulino
2025-07-14 13:16 ` [PATCH v3 1/4] mm/memory: introduce is_huge_zero_pfn() and use it in vm_normal_page_pmd() Luiz Capitulino
2025-07-14 14:26   ` David Hildenbrand
2025-07-14 13:16 ` [PATCH v3 2/4] mm/util: introduce snapshot_page() Luiz Capitulino
2025-07-16 10:16   ` David Hildenbrand
2025-07-16 17:36     ` Luiz Capitulino
2025-07-16 18:18       ` David Hildenbrand
2025-07-16 22:19         ` Andrew Morton
2025-07-17  1:52           ` Luiz Capitulino
2025-07-17 15:54             ` Luiz Capitulino
2025-07-14 13:16 ` [PATCH v3 3/4] proc: kpagecount: use snapshot_page() Luiz Capitulino
2025-07-16 10:17   ` David Hildenbrand
2025-07-16 17:41     ` Luiz Capitulino
2025-07-16 18:18       ` David Hildenbrand
2025-07-14 13:16 ` [PATCH v3 4/4] fs: stable_page_flags(): " Luiz Capitulino
2025-07-16 10:19   ` David Hildenbrand
2025-07-14 13:55 ` [PATCH v3 0/4] mm: introduce snapshot_page() Shivank Garg
2025-07-15 22:53 ` Harry Yoo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).