From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Sunny Patel <nueralspacetech@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Zi Yan <ziy@nvidia.com>, Matthew Brost <matthew.brost@intel.com>,
Joshua Hahn <joshua.hahnjy@gmail.com>,
Rakie Kim <rakie.kim@sk.com>, Byungchul Park <byungchul@sk.com>,
Gregory Price <gourry@gourry.net>,
Ying Huang <ying.huang@linux.alibaba.com>,
Alistair Popple <apopple@nvidia.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/migrate_device: Cleanup up PMD Checks and warnings
Date: Thu, 16 Apr 2026 21:44:15 +0200 [thread overview]
Message-ID: <d95ee512-73ca-4535-9fc6-a2c77eeb350e@kernel.org> (raw)
In-Reply-To: <20260414141344.29949-1-nueralspacetech@gmail.com>
On 4/14/26 16:13, Sunny Patel wrote:
> Remove the odd VM_WARN_ON_FOLIO(!folio, folio) usage and replace it
> with a simpler VM_WARN_ON_ONCE(!folio) check.
>
> Drop the redundant VM_WARN_ON_ONCE(!pmd_none(*pmdp) &&
> !is_huge_zero_pmd(*pmdp)).
>
> Refactor the PMD checks to use pmd_present(), making the control flow
> clearer and avoiding duplicate condition checks.
>
> Signed-off-by: Sunny Patel <nueralspacetech@gmail.com>
> ---
> mm/migrate_device.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/mm/migrate_device.c b/mm/migrate_device.c
> index 8079676c8f1f..fe1c1999aa2d 100644
> --- a/mm/migrate_device.c
> +++ b/mm/migrate_device.c
> @@ -807,8 +807,7 @@ static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
> bool flush = false;
> unsigned long i;
>
> - VM_WARN_ON_FOLIO(!folio, folio);
> - VM_WARN_ON_ONCE(!pmd_none(*pmdp) && !is_huge_zero_pmd(*pmdp));
> + VM_WARN_ON_ONCE(!folio);
I'd test for "page" here instead. But it doesn't matter as of today.
>
> if (!thp_vma_suitable_order(vma, addr, HPAGE_PMD_ORDER))
> return -EINVAL;
> @@ -865,12 +864,13 @@ static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
> if (userfaultfd_missing(vma))
> goto unlock_abort;
>
> - if (!pmd_none(*pmdp)) {
> + if (pmd_present(*pmdp)) {
> if (!is_huge_zero_pmd(*pmdp))
> goto unlock_abort;
> flush = true;
> - } else if (!pmd_none(*pmdp))
> + } else if (!pmd_none(*pmdp)) {
> goto unlock_abort;
> + }
>
> add_mm_counter(vma->vm_mm, MM_ANONPAGES, HPAGE_PMD_NR);
> folio_add_new_anon_rmap(folio, vma, addr, RMAP_EXCLUSIVE);
is_huge_zero_pmd() checks pmd_present(), so we didn't have a bug before.
We could also do:
if (is_huge_zero_pmd(*pmdp)) {
flush = true;
} else if (!pmd_none(*pmdp)) {
goto unlock_abort;
}
But I don't particularly care
Acked-by: David Hildenbrand (Arm) <david@kernel.org>
--
Cheers,
David
next prev parent reply other threads:[~2026-04-16 19:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-14 14:13 [PATCH] mm/migrate_device: Cleanup up PMD Checks and warnings Sunny Patel
2026-04-16 19:44 ` David Hildenbrand (Arm) [this message]
2026-04-16 23:52 ` SeongJae Park
2026-04-17 8:55 ` David Hildenbrand (Arm)
2026-04-18 17:18 ` Sunny Patel
2026-04-19 8:12 ` David Hildenbrand (Arm)
2026-04-19 17:53 ` Sunny Patel
2026-04-17 7:21 ` Huang, Ying
2026-04-16 20:30 ` Zi Yan
2026-04-16 23:50 ` SeongJae Park
-- strict thread matches above, loose matches on Subject: below --
2026-04-24 13:59 [PATCH v2] " Andrew Morton
2026-04-24 17:22 ` [PATCH] " Sunny Patel
2026-04-24 18:29 ` Andrew Morton
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=d95ee512-73ca-4535-9fc6-a2c77eeb350e@kernel.org \
--to=david@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=apopple@nvidia.com \
--cc=byungchul@sk.com \
--cc=gourry@gourry.net \
--cc=joshua.hahnjy@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=matthew.brost@intel.com \
--cc=nueralspacetech@gmail.com \
--cc=rakie.kim@sk.com \
--cc=ying.huang@linux.alibaba.com \
--cc=ziy@nvidia.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.