From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A94140315B for ; Wed, 8 Jul 2026 08:38:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783499938; cv=none; b=Nd3Wa8FcUEr7iVbeTLH5fZX5K7l0I0kL0uZHxintzMrdIbqZrDtoGG3sPM53tWXZKRlQGQaytjupE95HTcrMWuS3oQzoQMC1dI2UVIbcMgXU4yGDzR4sz0ngKh/gg8nZebKwbc+RsBzgKfAL0TP7a6G7IE2xb+/9hAHxN+x2JfM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783499938; c=relaxed/simple; bh=yQcVBuFRHEa704KN/Z7bvlGBdiTpVnx5lEeymQK10Nc=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=XKF08zc6X8RDtwEWEeDLaOebne+USjXh7+bjut0McFOi30RFj9L5xDiKTCK0glGb0lbmPPkvr0BNlmSB0h6e+RgsMYPBWS9o+TSix+SlEBBHbrNFBopJAmMlaqiKbxa0fFqNUnpsbGul+KyNJbRWoTlKl9+YtrFli8TqzlGi7sk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fQuW8lKu; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fQuW8lKu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 708781F000E9; Wed, 8 Jul 2026 08:38:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783499932; bh=P8RJBNwkV593NAki7eRp3qI3mSkpI/7Fgbb1+OQ0jog=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=fQuW8lKuHjl7eVqUW7vgi6CiSNyoRA6aWsPWr0+BhawgVvzZ5/KvTt++5fPrF4q/B 2O/ECDsfjSvTP4Was+No6lmG1w4QTTNztQW/lP5sZDqhrH6TuEyuc420thK0+R7LRg xfwYc5Gdp2pJ7kZ3LJBB76OkNaYeqmw0i7yhLcVF7OxwXHhn4DeDJPOn9o+cyhExxV YQDMZx1g2u3XPDYqdW3gOlf2qYezEOakYMUFiF8i/RGYNdG/054EI549XwvNjMps88 6UjrZxaItnOoW8whBCwTEHfFpLMs8QRPAWOsd/UnoMpsMUz1JLOHwKZTcDKz/A8et2 CdaNhBMPb1aaw== Date: Wed, 8 Jul 2026 09:38:38 +0100 From: Lorenzo Stoakes To: Balbir Singh Cc: Usama Arif , Andrew Morton , 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, joshua.hahnjy@gmail.com, lance.yang@linux.dev, liam@infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.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 Message-ID: References: <20260707135255.292870-1-usama.arif@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Wed, Jul 08, 2026 at 08:57:51AM +1000, Balbir Singh wrote: > On Tue, Jul 07, 2026 at 03:01:56PM +0100, Lorenzo Stoakes wrote: > > +cc Balbir > > > > Thanks for the series! > > > > I think Balbir should be cc'd no? > > > > Thanks, my linux-mm monitoring has been largely skimming through the > list. Explict cc's are always appreciated. Honestly I don't know how you do it, I gave up on linux-mm a long time ago and pretty much rely on cc- now (which isn't always perfect ofc... :) > > > On Tue, Jul 07, 2026 at 06:45:06AM -0700, Usama Arif 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 :) > > > > Yeah I don't love these 'existing problem' reports (distracting from other work, > > add workload, really it feels like that should be a passive reporting mode for > > sashiko not arbitrarily added to other series), but sending it as a separate > > series is indeed the right way :) > > > > These of course should never block an unrelated series. > > > > > > > > [1] https://sashiko.dev/#/patchset/20260703173903.3789516-1-usama.arif%40linux.dev?part=6 > > > > Hmm we've had a whole host of issues with device-private PMDs recently. > > > > Balbir - would it be possible to audit all of the code paths and proactively see > > if there's anything else that could hit problems here? > > > > Let me run through this and audit them. My usage of device private PMD > did not expose them, but I can see a bunch of reports in the link above Great thanks :) > > > > > > > Usama Arif (3): > > > mm/mempolicy: skip device-private PMDs when queueing folios > > > mm/madvise: skip device-private PMDs in cold and pageout walks > > > mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd > > > > > > mm/huge_memory.c | 3 +++ > > > mm/madvise.c | 3 +++ > > > mm/mempolicy.c | 2 ++ > > > 3 files changed, 8 insertions(+) > > > > > > -- > > > 2.53.0-Meta > > > > > > > Thanks Lorenzo! You're welcome! :) > > Balbir Cheers, Lorenzo