From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-187.mta1.migadu.com (out-187.mta1.migadu.com [95.215.58.187]) (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 91CFA3246F4 for ; Tue, 7 Jul 2026 14:12:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.187 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783433556; cv=none; b=ns2IYai6tPqn29PKxwV+LPeq4Vn5qng9mPlg9NPdKrTLlQ8CbyTiCB1xjwTUV+oMHQQUEVQmvBdBGnC8l1Zzfs8BTorhiYYSSNkHde+cXsP7aeXVNN9WMtvVyw5nzKO8+6Q9Cq7xKYHacwNlzXP3XOYKhSUrMIhDAETf0UX8QgM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783433556; c=relaxed/simple; bh=HyLtIx9PvTYRpDrV3EkbCYBYh7DcuQIsmXwhOUTRnfA=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ZTZP0sPKXVUOdGbvlTpwZcCJczLeTCoEf4pc6S5b+rR9QUa3DLuISA9IYbIq2W17H0H2UVfYqDg5BdbBdXvqwg+kHrErs+FDA7v/PFRNz28RHzwtqcaiSzdQNTXFYyoFbzkwUb/gKokuloJ8Vc2q+Xcb7D/IG38WN82IORfGpPc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=uquIvy5x; arc=none smtp.client-ip=95.215.58.187 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="uquIvy5x" Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1783433551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mPDupzAMb9WmhXqlEKzwpF9K9qDLD4ZC2gztkeWi21I=; b=uquIvy5x6UU/stQiS20fyZvnzOaj0KnY8Q6Z0SPIzsLLe9yOc6UIs00a5XEEJhxePHE3l9 I25qCrwejUAfvTq+okW2CGiyVjpRpLjcBX1IK8RMt9aqXD9JKmzOn0ZgywMtodGL2V/SGf 3teHPq8lBC3/ho9Red9JK9j7xjtsXGU= Date: Tue, 7 Jul 2026 15:12:11 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH 0/3] mm: handle device-private PMDs in walk callbacks To: Lorenzo Stoakes Cc: 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, Balbir Singh References: <20260707135255.292870-1-usama.arif@linux.dev> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Usama Arif In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT On 07/07/2026 15:01, Lorenzo Stoakes wrote: > +cc Balbir > > Thanks for the series! > > I think Balbir should be cc'd no? > Ah yes, sorry about that! I just sent the patches to the list I got from get_maintainers.pl. I think maybe we should modify get_maintainers.pl so that if there is a "Fixes" in commit message, than the author of that commit is also in the output from that script? > 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. > Yes agreed! >> >> [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? > >> >> 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 >> > > Cheers, Lorenzo