mm: use folio_xchg_last_cpupid() in wp_page_reuse()
Convert to use folio_xchg_last_cpupid() in wp_page_reuse(), and remove page variable. Since now only normal and PMD-mapped page is handled by numa balancing, it's enough to only update the entire folio's last cpupid. Link: https://lkml.kernel.org/r/20231018140806.2783514-19-wangkefeng.wang@huawei.com Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: David Hildenbrand <david@redhat.com> Cc: Huang Ying <ying.huang@intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
a86bc96b77
commit
c2c3b51480
19
mm/memory.c
19
mm/memory.c
@ -3019,19 +3019,20 @@ static inline void wp_page_reuse(struct vm_fault *vmf, struct folio *folio)
|
||||
__releases(vmf->ptl)
|
||||
{
|
||||
struct vm_area_struct *vma = vmf->vma;
|
||||
struct page *page = vmf->page;
|
||||
pte_t entry;
|
||||
|
||||
VM_BUG_ON(!(vmf->flags & FAULT_FLAG_WRITE));
|
||||
VM_BUG_ON(folio && folio_test_anon(folio) && !PageAnonExclusive(page));
|
||||
|
||||
/*
|
||||
* Clear the pages cpupid information as the existing
|
||||
* information potentially belongs to a now completely
|
||||
* unrelated process.
|
||||
*/
|
||||
if (page)
|
||||
page_cpupid_xchg_last(page, (1 << LAST_CPUPID_SHIFT) - 1);
|
||||
if (folio) {
|
||||
VM_BUG_ON(folio_test_anon(folio) &&
|
||||
!PageAnonExclusive(vmf->page));
|
||||
/*
|
||||
* Clear the folio's cpupid information as the existing
|
||||
* information potentially belongs to a now completely
|
||||
* unrelated process.
|
||||
*/
|
||||
folio_xchg_last_cpupid(folio, (1 << LAST_CPUPID_SHIFT) - 1);
|
||||
}
|
||||
|
||||
flush_cache_page(vma, vmf->address, pte_pfn(vmf->orig_pte));
|
||||
entry = pte_mkyoung(vmf->orig_pte);
|
||||
|
Loading…
Reference in New Issue
Block a user