RE: [PATCH v2 3/3] mm: handling Non-LRU pages returned by follow_page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: David Hildenbrand <david@xxxxxxxxxx>
> Sent: Monday, August 15, 2022 00:34
> To: Wang, Haiyue <haiyue.wang@xxxxxxxxx>; linux-mm@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Cc: akpm@xxxxxxxxxxxxxxxxxxxx; linmiaohe@xxxxxxxxxx; Huang, Ying <ying.huang@xxxxxxxxx>;
> songmuchun@xxxxxxxxxxxxx; naoya.horiguchi@xxxxxxxxx; alex.sierra@xxxxxxx
> Subject: Re: [PATCH v2 3/3] mm: handling Non-LRU pages returned by follow_page
> 
> On 14.08.22 16:05, Haiyue Wang wrote:
> > Add the missed put_page handling for handling Non-LRU pages returned by
> > follow_page with FOLL_GET flag set.
> >
> > This is the second patch for fixing the commit
> > 3218f8712d6b ("mm: handling Non-LRU pages returned by vm_normal_pages")
> >
> > Signed-off-by: Haiyue Wang <haiyue.wang@xxxxxxxxx>
> > ---
> >  mm/huge_memory.c |  2 +-
> >  mm/ksm.c         | 10 ++++++++++
> >  mm/migrate.c     |  6 +++++-
> >  3 files changed, 16 insertions(+), 2 deletions(-)
> >
> > diff --git a/mm/ksm.c b/mm/ksm.c
> > index fe3e0a39f73a..1360bb52ada6 100644
> > --- a/mm/ksm.c
> > +++ b/mm/ksm.c
> > @@ -477,6 +477,10 @@ static int break_ksm(struct vm_area_struct *vma, unsigned long addr)
> >  				FOLL_GET | FOLL_MIGRATION | FOLL_REMOTE);
> >  		if (IS_ERR_OR_NULL(page))
> >  			break;
> > +		if (is_zone_device_page(page)) {
> > +			put_page(page);
> > +			break;
> > +		}
> 
> I think we can drop this check completely. While working on patches that
> touch this code I realized that this check is completely useless. device
> pages are never PageKsm pages and there is no need to special-case here.
> 
> If a zone device page could be PageKsm, then we wouldn't handle it here
> correctly and not break ksm.
> 
> So just drop it.
> 

Fixed in v3.

> 
> 
> --
> Thanks,
> 
> David / dhildenb





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux