Message ID | 20231013085603.1227349-19-wangkefeng.wang@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm: convert page cpupid functions to folios | expand |
On Fri, Oct 13, 2023 at 04:56:02PM +0800, Kefeng Wang wrote: > Convert to use folio_xchg_last_cpupid() in wp_page_reuse(), and remove > page variable. ... another case where we're changing behaviour and need to argue it's desirable. > - /* > - * 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 pages cpupid information as the existing s/pages/folio's/ > + * information potentially belongs to a now completely > + * unrelated process. > + */ > + folio_xchg_last_cpupid(folio, (1 << LAST_CPUPID_SHIFT) - 1); > + }
diff --git a/mm/memory.c b/mm/memory.c index 6b58ceb0961f..e85c009917b4 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3022,19 +3022,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 pages 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);
Convert to use folio_xchg_last_cpupid() in wp_page_reuse(), and remove page variable. Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> --- mm/memory.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)