All of lore.kernel.org
 help / color / mirror / Atom feed
From: Usama Arif <usama.arif@linux.dev>
To: Joshua Hahn <joshua.hahnjy@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	apopple@nvidia.com, baohua@kernel.org,
	baolin.wang@linux.alibaba.com, byungchul@sk.com,
	david@kernel.org, dev.jain@arm.com, gourry@gourry.net,
	jannh@google.com, lance.yang@linux.dev, liam@infradead.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org, ljs@kernel.org,
	matthew.brost@intel.com, npache@redhat.com, rakie.kim@sk.com,
	ryan.roberts@arm.com, vbabka@kernel.org,
	ying.huang@linux.alibaba.com, ziy@nvidia.com,
	shakeel.butt@linux.dev, hannes@cmpxchg.org
Subject: Re: [PATCH 0/3] mm: handle device-private PMDs in walk callbacks
Date: Wed, 8 Jul 2026 13:22:49 +0100	[thread overview]
Message-ID: <2b316dd0-c6dc-4b9c-9de3-deeb1f481132@linux.dev> (raw)
In-Reply-To: <20260707191917.3213033-1-joshua.hahnjy@gmail.com>



On 07/07/2026 20:19, Joshua Hahn wrote:
> On Tue,  7 Jul 2026 06:45:06 -0700 Usama Arif <usama.arif@linux.dev> wrote:
> 
>> Since commit 368076f52ebe ("mm/huge_memory: add device-private THP support
>> to PMD operations") a PMD may hold a device-private swap entry whenever
>> an HMM-based GPU driver migrates an anonymous THP folio to device memory
>> via migrate_vma_pages().
>>
>> pmd_trans_huge_lock() succeeds for such PMDs (pmd_is_huge() returns true
>> for any non-present, non-none huge PMD), so several MM walk callbacks
>> that used to assume present THP or migration entry are now reachable with
>> a device-private PMD. The results range from a VM_BUG_ON() firing on debug
>> kernels, to an oops on a bogus vmemmap dereference, to silently isolating
>> an unrelated live folio from LRU in the aliasing case.
>>
>> The first 2 fixes were reported as pre-existing issues by sashiko in my
>> PMD swap entry series [1]. Hopefully sashiko won't point these out
>> in the next PMD swap entry series :)
> 
> Hello Usama,
> 
> Thank you for the fixes! I think all of them look good and they are fixes
> so please feel free to add my
> 
> Reviewed-by: Joshua Hahn <joshua.hahnjy@gmail.com>
> 
> One thing I wanted to maybe consider is for 1/3, whether it could be
> good to gate by !pmd_present() like the sites in 2/3 and 3/3, maybe
> that will be more robust in the future if there are other cases we
> should protect against (and the same as queue_folios_pte_range, which
> uses the !pte_present() check too).
> 
> For 2/3 and 3/3 we already have the !pmd_present() check, would it be
> worth considering just changing the VM_BUG_ON condition to include
> !pmd_is_device_private_entry()?
> 
> Just wanted to toss my 2c. Thanks again for the fixes Usama!
> Joshua
> 
Thanks for the reviews Joshua, I think they all made sense.
I have sent v2 [1] following your suggestions.

[1] https://lore.kernel.org/all/20260708122040.861335-1-usama.arif@linux.dev/


      reply	other threads:[~2026-07-08 12:23 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-07 13:45 [PATCH 0/3] mm: handle device-private PMDs in walk callbacks Usama Arif
2026-07-07 13:45 ` [PATCH 1/3] mm/mempolicy: skip device-private PMDs when queueing folios Usama Arif
2026-07-07 20:33   ` Zi Yan
2026-07-08 10:54     ` Usama Arif
2026-07-08 15:25       ` Zi Yan
2026-07-07 23:49   ` Balbir Singh
2026-07-07 13:45 ` [PATCH 2/3] mm/madvise: skip device-private PMDs in cold and pageout walks Usama Arif
2026-07-07 20:41   ` Zi Yan
2026-07-07 23:27   ` Balbir Singh
2026-07-07 13:45 ` [PATCH 3/3] mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd Usama Arif
2026-07-07 20:44   ` Zi Yan
2026-07-07 23:26   ` Balbir Singh
2026-07-07 14:01 ` [PATCH 0/3] mm: handle device-private PMDs in walk callbacks Lorenzo Stoakes
2026-07-07 14:12   ` Usama Arif
2026-07-08  8:23     ` Lorenzo Stoakes
2026-07-08  8:40       ` Balbir Singh
2026-07-07 15:30   ` Zi Yan
2026-07-07 22:57   ` Balbir Singh
2026-07-08  8:38     ` Lorenzo Stoakes
2026-07-07 19:19 ` Joshua Hahn
2026-07-08 12:22   ` Usama Arif [this message]

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=2b316dd0-c6dc-4b9c-9de3-deeb1f481132@linux.dev \
    --to=usama.arif@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=apopple@nvidia.com \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=byungchul@sk.com \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=gourry@gourry.net \
    --cc=hannes@cmpxchg.org \
    --cc=jannh@google.com \
    --cc=joshua.hahnjy@gmail.com \
    --cc=lance.yang@linux.dev \
    --cc=liam@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=matthew.brost@intel.com \
    --cc=npache@redhat.com \
    --cc=rakie.kim@sk.com \
    --cc=ryan.roberts@arm.com \
    --cc=shakeel.butt@linux.dev \
    --cc=vbabka@kernel.org \
    --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.