The cpupid(or access time) used by numa balancing is stored in flags or _last_cpupid(if LAST_CPUPID_NOT_IN_PAGE_FLAGS) of page, this is to convert page cpupid to folio cpupid, a new _last_cpupid is added into folio, which make us to use folio->_last_cpupid directly, and the page_cpupid_reset_last(), page_cpupid_xchg_last(), xchg_page_access_time(), and page_cpupid_last() are converted to folio one. Kefeng Wang (9): mm_types: add _last_cpupid into folio mm: mprotect: use a folio in change_pte_range() mm: huge_memory: use a folio in change_huge_pmd() mm: convert xchg_page_access_time to xchg_folio_access_time() mm: convert page_cpupid_last() to folio_cpupid_last() mm: make wp_page_reuse() and finish_mkwrite_fault() to take a folio mm: convert page_cpupid_xchg_last() to folio_cpupid_xchg_last() mm: page_alloc: use a folio in free_pages_prepare() mm: convert page_cpupid_reset_last() to folio_cpupid_reset_last() include/linux/mm.h | 40 ++++++++++++++++++++-------------------- include/linux/mm_types.h | 13 +++++++++---- kernel/sched/fair.c | 4 ++-- mm/huge_memory.c | 17 +++++++++-------- mm/memory.c | 39 +++++++++++++++++++++------------------ mm/migrate.c | 4 ++-- mm/mm_init.c | 1 - mm/mmzone.c | 6 +++--- mm/mprotect.c | 16 +++++++++------- mm/page_alloc.c | 17 +++++++++-------- 10 files changed, 84 insertions(+), 73 deletions(-) -- 2.27.0