mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-26 10:57:38 +08:00
mm/page-flags: remove PG_private
folio->private != NULL indicates a folio carries private data, replacing PG_private. All PG_private users are converted. Remove PG_private and reserve the space as PG_folio for future use. Unused PG_private functions are removed too. Link: https://lore.kernel.org/20260920-remove-pg_private-v5-17-bb68b6a21869@nvidia.com Signed-off-by: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Acked-by: David Hildenbrand (Arm) <david@kernel.org> Assisted-by: LLM Cc: Baoquan He <baoquan.he@linux.dev> Cc: Mike Rapoport <rppt@kernel.org> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Pratyush Yadav <pratyush@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Jan Kara <jack@suse.cz> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Dave Young <ruirui.yang@linux.dev> Cc: Shuah Khan <skhan@linuxfoundation.org> Cc: Lorenzo Stoakes <ljs@kernel.org> Cc: "Liam R. Howlett" <liam@infradead.org> Cc: Vlastimil Babka <vbabka@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This commit is contained in:
1 parent
bbe5d3b3d4
commit
b26c65bedb
3 files changed
+2
-19
No files matched your search
@@ -44,10 +44,6 @@
|
||||
* Consequently, PG_reserved for a page mapped into user space can indicate
|
||||
* the zero page, the vDSO, MMIO pages or device memory.
|
||||
*
|
||||
* The PG_private bitflag is set on pagecache pages if they contain filesystem
|
||||
* specific data (which is normally at page->private). It can be used by
|
||||
* private allocations for its own usage.
|
||||
*
|
||||
* During initiation of disk I/O, PG_locked is set. This bit is set before I/O
|
||||
* and cleared when writeback _starts_ or when read _completes_. PG_writeback
|
||||
* is set before writeback starts and cleared when it finishes.
|
||||
@@ -105,7 +101,7 @@ enum pageflags {
|
||||
PG_owner_2, /* Owner use. If pagecache, fs may use */
|
||||
PG_arch_1,
|
||||
PG_reserved,
|
||||
PG_private, /* If pagecache, has fs-private data */
|
||||
PG_folio, /* Do not use: reserved for folio identification */
|
||||
PG_private_2, /* If pagecache, has fs aux data */
|
||||
PG_reclaim, /* To be reclaimed asap */
|
||||
PG_swapbacked, /* Page is backed by RAM/swap */
|
||||
@@ -588,18 +584,6 @@ static __always_inline bool folio_test_private(const struct folio *folio)
|
||||
return data_race(folio->private);
|
||||
}
|
||||
|
||||
static __always_inline int PagePrivate(const struct page *page)
|
||||
{
|
||||
/* See folio_test_private() for data_race() use */
|
||||
return !!data_race(page->private);
|
||||
}
|
||||
|
||||
/* no-ops during transition */
|
||||
static __always_inline void folio_set_private(struct folio *folio) { }
|
||||
static __always_inline void folio_clear_private(struct folio *folio) { }
|
||||
static __always_inline void SetPagePrivate(struct page *page) { }
|
||||
static __always_inline void ClearPagePrivate(struct page *page) { }
|
||||
|
||||
FOLIO_FLAG(private_2, FOLIO_HEAD_PAGE)
|
||||
|
||||
/* owner_2 can be set on tail pages for anon memory */
|
||||
|
||||
@@ -144,7 +144,7 @@ TRACE_DEFINE_ENUM(___GFP_LAST_BIT);
|
||||
DEF_PAGEFLAG_NAME(owner_2), \
|
||||
DEF_PAGEFLAG_NAME(arch_1), \
|
||||
DEF_PAGEFLAG_NAME(reserved), \
|
||||
DEF_PAGEFLAG_NAME(private), \
|
||||
DEF_PAGEFLAG_NAME(folio), \
|
||||
DEF_PAGEFLAG_NAME(private_2), \
|
||||
DEF_PAGEFLAG_NAME(writeback), \
|
||||
DEF_PAGEFLAG_NAME(head), \
|
||||
|
||||
@@ -216,7 +216,6 @@ static int __init crash_save_vmcoreinfo_init(void)
|
||||
VMCOREINFO_LENGTH(free_area.free_list, MIGRATE_TYPES);
|
||||
VMCOREINFO_NUMBER(NR_FREE_PAGES);
|
||||
VMCOREINFO_NUMBER(PG_lru);
|
||||
VMCOREINFO_NUMBER(PG_private);
|
||||
VMCOREINFO_NUMBER(PG_swapcache);
|
||||
VMCOREINFO_NUMBER(PG_swapbacked);
|
||||
#define PAGE_SLAB_MAPCOUNT_VALUE (PGTY_slab << 24)
|
||||
|
||||
Reference in new issue
Block a user