All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Haiyue Wang <haiyue.wang@intel.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Cc: akpm@linux-foundation.org, linmiaohe@huawei.com,
	ying.huang@intel.com, songmuchun@bytedance.com,
	naoya.horiguchi@linux.dev, alex.sierra@amd.com
Subject: Re: [PATCH v2 3/3] mm: handling Non-LRU pages returned by follow_page
Date: Sun, 14 Aug 2022 18:34:12 +0200	[thread overview]
Message-ID: <aff9df5d-81be-ee98-5b12-c70cbede8a31@redhat.com> (raw)
In-Reply-To: <20220814140534.363348-4-haiyue.wang@intel.com>

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@intel.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


  reply	other threads:[~2022-08-14 16:44 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-12  8:49 [PATCH v1] mm: migration: fix the FOLL_GET failure on following huge page Haiyue Wang
2022-08-13 23:28 ` Andrew Morton
2022-08-14  6:20   ` Wang, Haiyue
2022-08-14  6:49     ` Wang, Haiyue
2022-08-14 14:05 ` [PATCH v2 0/3] fix follow_page related issues Haiyue Wang
2022-08-14 14:05   ` [PATCH v2 1/3] mm: revert handling Non-LRU pages returned by follow_page Haiyue Wang
2022-08-14 16:30     ` David Hildenbrand
2022-08-15  1:02       ` Wang, Haiyue
2022-08-14 14:05   ` [PATCH v2 2/3] mm: migration: fix the FOLL_GET failure on following huge page Haiyue Wang
2022-08-14 14:05   ` [PATCH v2 3/3] mm: handling Non-LRU pages returned by follow_page Haiyue Wang
2022-08-14 16:34     ` David Hildenbrand [this message]
2022-08-15  1:03       ` Wang, Haiyue
2022-08-15  1:03 ` [PATCH v3 0/2] fix follow_page related issues Haiyue Wang
2022-08-15  1:03   ` [PATCH v3 1/2] mm: migration: fix the FOLL_GET failure on following huge page Haiyue Wang
2022-08-15  1:59     ` Huang, Ying
2022-08-15  2:10       ` Wang, Haiyue
2022-08-15  2:15         ` Wang, Haiyue
2022-08-15  2:51           ` Huang, Ying
2022-08-15  1:03   ` [PATCH v3 2/2] mm: fix the handling Non-LRU pages returned by follow_page Haiyue Wang
2022-08-15  1:39     ` Huang, Ying
2022-08-15  1:46       ` Wang, Haiyue
2022-08-15  1:59 ` [PATCH v4 0/2] fix follow_page related issues Haiyue Wang
2022-08-15  1:59   ` [PATCH v4 1/2] mm: migration: fix the FOLL_GET failure on following huge page Haiyue Wang
2022-08-15  4:28     ` Alistair Popple
2022-08-15  4:40       ` Wang, Haiyue
2022-08-15  5:16         ` Alistair Popple
2022-08-15  5:20           ` Wang, Haiyue
2022-08-15  5:35             ` Alistair Popple
2022-08-15  5:37               ` Wang, Haiyue
2022-08-15  1:59   ` [PATCH v4 2/2] mm: fix the handling Non-LRU pages returned by follow_page Haiyue Wang
2022-08-15  7:02 ` [PATCH v5 0/2] fix follow_page related issues Haiyue Wang
2022-08-15  7:02   ` [PATCH v5 1/2] mm: migration: fix the FOLL_GET failure on following huge page Haiyue Wang
2022-08-15  7:40     ` Huang, Ying
2022-08-15  7:02   ` [PATCH v5 2/2] mm: fix the handling Non-LRU pages returned by follow_page Haiyue Wang
2022-08-15  7:50     ` Huang, Ying
2022-08-15 14:28     ` Felix Kuehling
2022-08-16  0:00     ` Alistair Popple
2022-08-16  1:12       ` Wang, Haiyue
2022-08-16  2:45         ` Alistair Popple
2022-08-16  2:20 ` [PATCH v6 0/2] fix follow_page related issues Haiyue Wang
2022-08-16  2:21   ` [PATCH v6 1/2] mm: migration: fix the FOLL_GET failure on following huge page Haiyue Wang
2022-08-16  8:54     ` Baolin Wang
2022-08-17  0:58     ` Andrew Morton
2022-08-17  3:31       ` Wang, Haiyue
2022-08-17  5:43         ` Andrew Morton
2022-08-17  5:47           ` Wang, Haiyue
2022-08-17 17:26           ` Mike Kravetz
2022-08-17 21:58             ` Mike Kravetz
2022-08-18  0:32               ` Wang, Haiyue
2022-08-19 11:22             ` Michael Ellerman
2022-08-19 11:22               ` Michael Ellerman
2022-08-19 16:55               ` Mike Kravetz
2022-08-19 16:55                 ` Mike Kravetz
2022-08-26 13:07                 ` Michael Ellerman
2022-08-26 13:07                   ` Michael Ellerman
2022-08-18 11:51           ` Gerald Schaefer
2022-08-18 11:57             ` Gerald Schaefer
2022-08-17  2:12     ` Miaohe Lin
2022-08-16  2:21   ` [PATCH v6 2/2] mm: fix the handling Non-LRU pages returned by follow_page Haiyue Wang
2022-08-16  4:42     ` Alistair Popple
2022-08-17  2:34     ` Miaohe Lin
2022-08-23 10:07       ` David Hildenbrand
2022-08-23 13:26         ` Wang, Haiyue
2022-08-23 13:27           ` David Hildenbrand
2022-08-23 13:29             ` Wang, Haiyue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aff9df5d-81be-ee98-5b12-c70cbede8a31@redhat.com \
    --to=david@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.sierra@amd.com \
    --cc=haiyue.wang@intel.com \
    --cc=linmiaohe@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=naoya.horiguchi@linux.dev \
    --cc=songmuchun@bytedance.com \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.