* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-19 17:47 [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings Sunny Patel
@ 2026-04-19 17:50 ` Zi Yan
2026-04-20 8:01 ` Huang, Ying
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Zi Yan @ 2026-04-19 17:50 UTC (permalink / raw)
To: Sunny Patel
Cc: Andrew Morton, David Hildenbrand, Matthew Brost, Joshua Hahn,
Rakie Kim, Byungchul Park, Gregory Price, Ying Huang,
Alistair Popple, linux-mm, linux-kernel
On 19 Apr 2026, at 13:47, 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, making the control flow
> clearer and avoiding duplicate condition checks.
>
> Signed-off-by: Sunny Patel <nueralspacetech@gmail.com>
> ---
>
> Changes in v2:
> - Removed additional check for pmd_present() as is_huge_zero_pmd()
> already checks for pmd_present().
>
> Missed it in first version of this patch.
>
> mm/migrate_device.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
LGTM.
Acked-by: Zi Yan <ziy@nvidia.com>
--
Best Regards,
Yan, Zi
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-19 17:47 [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings Sunny Patel
2026-04-19 17:50 ` Zi Yan
@ 2026-04-20 8:01 ` Huang, Ying
2026-04-20 19:33 ` David Hildenbrand (Arm)
2026-04-24 13:59 ` Andrew Morton
3 siblings, 0 replies; 10+ messages in thread
From: Huang, Ying @ 2026-04-20 8:01 UTC (permalink / raw)
To: Sunny Patel
Cc: Andrew Morton, David Hildenbrand, Zi Yan, Matthew Brost,
Joshua Hahn, Rakie Kim, Byungchul Park, Gregory Price,
Alistair Popple, linux-mm, linux-kernel
Sunny Patel <nueralspacetech@gmail.com> writes:
> 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, making the control flow
> clearer and avoiding duplicate condition checks.
>
> Signed-off-by: Sunny Patel <nueralspacetech@gmail.com>
> ---
>
> Changes in v2:
> - Removed additional check for pmd_present() as is_huge_zero_pmd()
> already checks for pmd_present().
>
> Missed it in first version of this patch.
>
> mm/migrate_device.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/mm/migrate_device.c b/mm/migrate_device.c
> index 8079676c8f1f..2c7e89a6d1b1 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);
>
> if (!thp_vma_suitable_order(vma, addr, HPAGE_PMD_ORDER))
> return -EINVAL;
> @@ -865,11 +864,9 @@ static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
> if (userfaultfd_missing(vma))
> goto unlock_abort;
>
> - if (!pmd_none(*pmdp)) {
> - if (!is_huge_zero_pmd(*pmdp))
> - goto unlock_abort;
> + if (is_huge_zero_pmd(*pmdp))
> 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);
LGTM, feel free to add my
Reviewed-by: Huang Ying <ying.huang@linux.alibaba.com>
in the future versions.
---
Best Regards,
Huang, Ying
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-19 17:47 [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings Sunny Patel
2026-04-19 17:50 ` Zi Yan
2026-04-20 8:01 ` Huang, Ying
@ 2026-04-20 19:33 ` David Hildenbrand (Arm)
2026-04-24 13:59 ` Andrew Morton
3 siblings, 0 replies; 10+ messages in thread
From: David Hildenbrand (Arm) @ 2026-04-20 19:33 UTC (permalink / raw)
To: Sunny Patel, Andrew Morton
Cc: Zi Yan, Matthew Brost, Joshua Hahn, Rakie Kim, Byungchul Park,
Gregory Price, Ying Huang, Alistair Popple, linux-mm,
linux-kernel
On 4/19/26 19:47, 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, making the control flow
> clearer and avoiding duplicate condition checks.
>
> Signed-off-by: Sunny Patel <nueralspacetech@gmail.com>
> ---
Acked-by: David Hildenbrand (Arm) <david@kernel.org>
--
Cheers,
David
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-19 17:47 [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings Sunny Patel
` (2 preceding siblings ...)
2026-04-20 19:33 ` David Hildenbrand (Arm)
@ 2026-04-24 13:59 ` Andrew Morton
2026-04-24 17:22 ` [PATCH] " Sunny Patel
2026-04-24 17:33 ` [PATCH v2] " Sunny Patel
3 siblings, 2 replies; 10+ messages in thread
From: Andrew Morton @ 2026-04-24 13:59 UTC (permalink / raw)
To: Sunny Patel
Cc: David Hildenbrand, Zi Yan, Matthew Brost, Joshua Hahn, Rakie Kim,
Byungchul Park, Gregory Price, Ying Huang, Alistair Popple,
linux-mm, linux-kernel
On Sun, 19 Apr 2026 23:17:43 +0530 Sunny Patel <nueralspacetech@gmail.com> 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, making the control flow
> clearer and avoiding duplicate condition checks.
AI review might have found a bug in the surrounding code:
https://sashiko.dev/#/patchset/20260419174747.10701-1-nueralspacetech@gmail.com
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-24 13:59 ` Andrew Morton
@ 2026-04-24 17:22 ` Sunny Patel
2026-04-24 18:29 ` Andrew Morton
2026-04-24 17:33 ` [PATCH v2] " Sunny Patel
1 sibling, 1 reply; 10+ messages in thread
From: Sunny Patel @ 2026-04-24 17:22 UTC (permalink / raw)
To: akpm
Cc: apopple, byungchul, david, gourry, joshua.hahnjy, linux-kernel,
linux-mm, matthew.brost, nueralspacetech, rakie.kim, ying.huang,
ziy
On Sun, 19 Apr 2026 23:17:43 +0530 Sunny Patel <nueralspacetech@gmail.com> 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, making the control flow
> clearer and avoiding duplicate condition checks.
AI review might have found a bug in the surrounding code:
https://sashiko.dev/#/patchset/20260419174747.10701-1-nueralspacetech@gmail.com
After looking into the AI comment found two potential leak.
1. The goto should be unlock_abort instead of abort to ensure
the spinlock is released.
2. The pgtable allocation at the top of the function
is indeed not freed on the unlock_abort path. Will add a
pte_free(vma->vm_mm, pgtable).
Since this patch is more of Cleanup on PMD checks and
Warnings Is it ok if I send different patch to address
this potential leak issues or need it in this revision
itself?
Thanks,
Sunny Patel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-24 17:22 ` [PATCH] " Sunny Patel
@ 2026-04-24 18:29 ` Andrew Morton
0 siblings, 0 replies; 10+ messages in thread
From: Andrew Morton @ 2026-04-24 18:29 UTC (permalink / raw)
To: Sunny Patel
Cc: apopple, byungchul, david, gourry, joshua.hahnjy, linux-kernel,
linux-mm, matthew.brost, rakie.kim, ying.huang, ziy
On Fri, 24 Apr 2026 22:52:08 +0530 Sunny Patel <nueralspacetech@gmail.com> wrote:
> On Sun, 19 Apr 2026 23:17:43 +0530 Sunny Patel <nueralspacetech@gmail.com> 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, making the control flow
> > clearer and avoiding duplicate condition checks.
>
> AI review might have found a bug in the surrounding code:
> https://sashiko.dev/#/patchset/20260419174747.10701-1-nueralspacetech@gmail.com
>
> After looking into the AI comment found two potential leak.
>
> 1. The goto should be unlock_abort instead of abort to ensure
> the spinlock is released.
>
> 2. The pgtable allocation at the top of the function
> is indeed not freed on the unlock_abort path. Will add a
> pte_free(vma->vm_mm, pgtable).
>
> Since this patch is more of Cleanup on PMD checks and
> Warnings Is it ok if I send different patch to address
> this potential leak issues or need it in this revision
> itself?
A separate patch, please.
It's best to prepare the bugfix patch against current Linus mainline,
then any cleanups come on top of the bugfix.
Thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-24 13:59 ` Andrew Morton
2026-04-24 17:22 ` [PATCH] " Sunny Patel
@ 2026-04-24 17:33 ` Sunny Patel
2026-04-24 18:25 ` David Hildenbrand (Arm)
1 sibling, 1 reply; 10+ messages in thread
From: Sunny Patel @ 2026-04-24 17:33 UTC (permalink / raw)
To: akpm
Cc: apopple, byungchul, david, gourry, joshua.hahnjy, linux-kernel,
linux-mm, matthew.brost, nueralspacetech, rakie.kim, ying.huang,
ziy
On Sun, 19 Apr 2026 23:17:43 +0530 Sunny Patel <nueralspacetech@gmail.com> 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, making the control flow
> clearer and avoiding duplicate condition checks.
AI review might have found a bug in the surrounding code:
https://sashiko.dev/#/patchset/20260419174747.10701-1-nueralspacetech@gmail.com
NOTE: Ignore the previous message was sent on different
Subject Header by mistake.
After looking into the AI comment found two potential leak.
1. The goto should be unlock_abort instead of abort to ensure
the spinlock is released.
2. The pgtable allocation at the top of the function
is indeed not freed on the unlock_abort path. Will add a
pte_free(vma->vm_mm, pgtable).
Since this patch is more of Cleanup on PMD checks and
Warnings Is it ok if I send different patch to address
this potential leak issues or need it in this revision
itself?
Thanks,
Sunny Patel
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-24 17:33 ` [PATCH v2] " Sunny Patel
@ 2026-04-24 18:25 ` David Hildenbrand (Arm)
2026-04-25 13:52 ` Sunny Patel
0 siblings, 1 reply; 10+ messages in thread
From: David Hildenbrand (Arm) @ 2026-04-24 18:25 UTC (permalink / raw)
To: Sunny Patel, akpm
Cc: apopple, byungchul, gourry, joshua.hahnjy, linux-kernel, linux-mm,
matthew.brost, rakie.kim, ying.huang, ziy
On 4/24/26 19:33, Sunny Patel wrote:
> On Sun, 19 Apr 2026 23:17:43 +0530 Sunny Patel <nueralspacetech@gmail.com> 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, making the control flow
>> clearer and avoiding duplicate condition checks.
>
> AI review might have found a bug in the surrounding code:
> https://sashiko.dev/#/patchset/20260419174747.10701-1-nueralspacetech@gmail.com
>
> NOTE: Ignore the previous message was sent on different
> Subject Header by mistake.
>
> After looking into the AI comment found two potential leak.
>
> 1. The goto should be unlock_abort instead of abort to ensure
> the spinlock is released.
>
> 2. The pgtable allocation at the top of the function
> is indeed not freed on the unlock_abort path. Will add a
> pte_free(vma->vm_mm, pgtable).
>
> Since this patch is more of Cleanup on PMD checks and
> Warnings Is it ok if I send different patch to address
> this potential leak issues or need it in this revision
> itself?
No, independent issues -> independent patches :)
--
Cheers,
David
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] mm/migrate_device: Cleanup up PMD Checks and warnings
2026-04-24 18:25 ` David Hildenbrand (Arm)
@ 2026-04-25 13:52 ` Sunny Patel
0 siblings, 0 replies; 10+ messages in thread
From: Sunny Patel @ 2026-04-25 13:52 UTC (permalink / raw)
To: david
Cc: akpm, apopple, byungchul, gourry, joshua.hahnjy, linux-kernel,
linux-mm, matthew.brost, nueralspacetech, rakie.kim, ying.huang,
ziy
On Fri, 24 Apr 2026 20:25:06 +0200, David Hildenbrand wrote:
> No, independent issues -> independent patches :)
Sent two individual patches for review as discussed.
1. https://lore.kernel.org/linux-mm/20260425134453.23769-1-nueralspacetech@gmail.com/T/#u
2. https://lore.kernel.org/linux-mm/20260425133537.17463-1-nueralspacetech@gmail.com/T/#u
Thanks,
Sunny Patel
^ permalink raw reply [flat|nested] 10+ messages in thread