[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BYAPR11MB34950F770632BCE03BCAD752F7689@BYAPR11MB3495.namprd11.prod.outlook.com>
Date: Mon, 15 Aug 2022 01:03:13 +0000
From: "Wang, Haiyue" <haiyue.wang@...el.com>
To: David Hildenbrand <david@...hat.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"linmiaohe@...wei.com" <linmiaohe@...wei.com>,
"Huang, Ying" <ying.huang@...el.com>,
"songmuchun@...edance.com" <songmuchun@...edance.com>,
"naoya.horiguchi@...ux.dev" <naoya.horiguchi@...ux.dev>,
"alex.sierra@....com" <alex.sierra@....com>
Subject: RE: [PATCH v2 3/3] mm: handling Non-LRU pages returned by follow_page
> -----Original Message-----
> From: David Hildenbrand <david@...hat.com>
> Sent: Monday, August 15, 2022 00:34
> To: Wang, Haiyue <haiyue.wang@...el.com>; linux-mm@...ck.org; linux-kernel@...r.kernel.org
> Cc: akpm@...ux-foundation.org; linmiaohe@...wei.com; Huang, Ying <ying.huang@...el.com>;
> songmuchun@...edance.com; naoya.horiguchi@...ux.dev; alex.sierra@....com
> 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@...el.com>
> > ---
> > 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
Powered by blists - more mailing lists