Messages in this thread | | | Date | Wed, 8 Nov 2023 09:40:09 +0800 | Subject | Re: [PATCH 1/6] mm: ksm: use more folio api in ksm_might_need_to_copy() | From | Kefeng Wang <> |
| |
On 2023/11/7 22:24, Matthew Wilcox wrote: > On Tue, Nov 07, 2023 at 09:52:11PM +0800, Kefeng Wang wrote: >> struct page *ksm_might_need_to_copy(struct page *page, >> - struct vm_area_struct *vma, unsigned long address) >> + struct vm_area_struct *vma, unsigned long addr) >> { >> struct folio *folio = page_folio(page); >> struct anon_vma *anon_vma = folio_anon_vma(folio); >> - struct page *new_page; >> + struct folio *new_folio; >> >> - if (PageKsm(page)) { >> - if (page_stable_node(page) && >> + if (folio_test_ksm(folio)) { >> + if (folio_stable_node(folio) && >> !(ksm_run & KSM_RUN_UNMERGE)) >> return page; /* no need to copy it */ >> } else if (!anon_vma) { >> return page; /* no need to copy it */ >> - } else if (page->index == linear_page_index(vma, address) && >> + } else if (page->index == linear_page_index(vma, addr) && > > Hmm. page->index is going away. What should we do here instead?
Do you mean to replace page->index to folio->index, or kill index from struct page?
> > The rest of this looks good. >
| |