As part of the MatthewWilcox/Memdescs project, we will be getting rid of page flags.
The flags word in struct page contains such things as node/zone/section. These will continue to be in the high bits of the newly created memdesc_flags_t. The low bits of memdesc_flags_t will contain some of the existing page flags, but others will be handled differently.
The slab flags are already split out and will not be discussed here.
For folios,
- PG_locked will be FL_locked
- PG_writeback will be FL_writeback
- PG_referenced will be FL_referenced
- PG_uptodate will be FL_uptodate
- PG_dirty will be FL_dirty
- PG_lru will be FL_lru
- PG_head will no longer exist
- PG_waiters will be FL_waiters
- PG_active will be FL_active
- PG_workingset will be FL_workingset
- PG_owner_priv_1 will be FL_owner_1
- PG_owner_2 will be FL_owner_2
- PG_arch_1 will be FL_arch_1
- PG_reserved will be a memdesc type
PG_private will be replaced with checks of folio->private
- PG_private_2 will disappear, possibly before folio and page are split
- PG_reclaim will be FL_reclaim
- PG_swapbacked will be FL_swapbacked
- PG_unevictable will be FL_unevictable
- PG_dropbehind will be FL_dropbehind
- PG_mlocked will be FL_mlocked
- PG_hwpoison will be a memdesc type
- PG_young will be FL_young
- PG_idle will be FL_idle