[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aff9df5d-81be-ee98-5b12-c70cbede8a31@redhat.com>
Date: Sun, 14 Aug 2022 18:34:12 +0200
From: David Hildenbrand <david@...hat.com>
To: Haiyue Wang <haiyue.wang@...el.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Cc: akpm@...ux-foundation.org, linmiaohe@...wei.com,
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/huge_memory.c b/mm/huge_memory.c
> index 2ee6d38a1426..b2ba17c3dcd7 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -2966,7 +2966,7 @@ static int split_huge_pages_pid(int pid, unsigned long vaddr_start,
> if (IS_ERR_OR_NULL(page))
> continue;
>
> - if (!is_transparent_hugepage(page))
> + if (is_zone_device_page(page) || !is_transparent_hugepage(page))
> goto next;
>
> total++;
> 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.
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists