From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31CA5C61DF4 for ; Fri, 24 Nov 2023 04:02:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BDC856B06E6; Thu, 23 Nov 2023 23:02:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B8D8C6B070C; Thu, 23 Nov 2023 23:02:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AA1746B070D; Thu, 23 Nov 2023 23:02:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9E7BF6B06E6 for ; Thu, 23 Nov 2023 23:02:31 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6DB98A1723 for ; Fri, 24 Nov 2023 04:02:31 +0000 (UTC) X-FDA: 81491500902.28.D42425A Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf22.hostedemail.com (Postfix) with ESMTP id 5E45AC0018 for ; Fri, 24 Nov 2023 04:02:28 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=oJ6dVYj2; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf22.hostedemail.com: domain of aneesh.kumar@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=aneesh.kumar@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700798549; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fyR87sum/LR7FcvgINNsDnl0/MfCmeuFSg1uBRwS268=; b=SZaYdls4WtObefVZClbYHWkiCpiXmcG+uMow0eEXoBI5Djtcj0BfQ1nDn5sOnYCj8GXbqi ocR4ddWfdQs1pppTkCv7mwNz3yKIcVEtyJT3otzYRz4TXBkaS9zBJyHxsh8UxlHruU6rXX nUEKHiJSlfsNHpdL525Pr90eZubOKjQ= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=oJ6dVYj2; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf22.hostedemail.com: domain of aneesh.kumar@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=aneesh.kumar@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700798549; a=rsa-sha256; cv=none; b=2lESWG81y4HliTy5e7opuIemH5qEfUrSl0qOdFjd8xe2p8wAM1ehjwwoB07EiFcNTr6XdZ xajQyIDVgQYz5LEK3F3B7BAj6wdtwHTQMoj/lwoloZvcPI9l/I+6zu/b/61EFe2lRmFKVz 8dDM4z+DP1Z46LSmaqeqN8YHMveXIbY= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id A2A15CE263D; Fri, 24 Nov 2023 04:02:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76559C433C7; Fri, 24 Nov 2023 04:02:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700798543; bh=Sw3Gmp5FCgfiaLUitMiEDYoZ67hmvBoHWWpEvjnwOTk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=oJ6dVYj2ZdYp9OgrlaVaemiOuWZW3CYnBOK3I59RycygWLmNHB5Dvm5/e5fAkFKME GrwLaKCL78XfnbB3++dI3yoURhrPXSl9QhfEl8wamFIOqNhezeiLteDMx+0eCHAaSJ sYkQ4jFfmJ3gXZxusgws/ctrhS1Y8o1/hfRrfKm/VIf4hgOFjArLjGzOnoqsCrK/el c5gLqCOnZYcRsxQbI2PjLow2eBCHSTFCZ6ZLD357i90PCVV8YiUg+3QOEMWMdDQRl9 +3FYOgyWHDwKcrwhb4Yn6K9iowy37OahfkbdWTIEDNsVVFzL7n6fFUb9jneG6aKfz1 Mb7s11UslYkFw== X-Mailer: emacs 29.1 (via feedmail 11-beta-1 I) From: Aneesh Kumar K.V (IBM) To: Peter Xu , linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Mike Kravetz , "Kirill A . Shutemov" , Lorenzo Stoakes , Axel Rasmussen , Matthew Wilcox , John Hubbard , Mike Rapoport , peterx@redhat.com, Hugh Dickins , David Hildenbrand , Andrea Arcangeli , Rik van Riel , James Houghton , Yang Shi , Jason Gunthorpe , Vlastimil Babka , Andrew Morton Subject: Re: [PATCH RFC 04/12] mm: Introduce vma_pgtable_walk_{begin|end}() In-Reply-To: <20231116012908.392077-5-peterx@redhat.com> References: <20231116012908.392077-1-peterx@redhat.com> <20231116012908.392077-5-peterx@redhat.com> Date: Fri, 24 Nov 2023 09:32:13 +0530 Message-ID: <874jhb94u2.fsf@kernel.org> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 5E45AC0018 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: u9ndgyt95f5tx7xjf6mscwbbeaz43ycf X-HE-Tag: 1700798548-583952 X-HE-Meta: U2FsdGVkX182pY20koT7pLhkC9lrTD6VbUC+ADSb5PqCeAUR85CNo4iuD9nTH1kLey8cx2qToVZxsCzC7L86UdCqAFm/4ZlNzxhVRlodKv8WKsFFhl/ebQVo/g0dpV7PDN4xgwKrfroX0MLy90rEaYnKQEOmR4Wn2bOKsCM1/e3pesYy2m81CMBsGLSGWsBxDGxQFvIXXT0DFr4hYO1eQO5+tkQDHQkBoEt/PWowVXKohjaEANXqOidOpJNtBkMQG+WHlrrKWH5nEMGh0q4fFco5JIPYqUUu9na6duTEebSZBEtlesaeK74EP2bhlTIthEVPywY2oBitJWsbCh75eux/g84i0JVR0RC4agc9wJlD8/VVuoMfc44gwBTkiLWJniSKwy9TCQDt1Nh2AX/XqDiXrWQ6nKreJwjcPz2ojP9UIVXXOm3hmvIREoSQ4chusAzGfYiozJ+XcihW/CWgbZMD04HCL8dRqxJ2ZueZ+De3L7jnWLl9BMFi+pTiBEDha9DKHRE1Yehxi/skFe2BGEsYm/7NCZ1up4nUhMoLItMwoeVs+8Xez5gDcZptlI74stIyvUNv1sPt3Eh0KJ07WyhguHF70ufQPwK/D6cbIyC8BedbOwRsn3KzqadNyk3vHiD4DF3PZWSigtWHqIgzQZ/HsIcOiLcpHeukFZN920eMlzNiK5ybRLK1qHOoipgZQOOodoW8sxkzS7rgPdM7Iv954lPH1e63mMQb8FPqV8wi7wqIuMFJfNGP2Hu4QcQ3j43Ly8kUhqSThYFgouEXC8omUVRF+BQeGZm6ZQ6forstvBlT3YgwsVg3Rk5/bkOQfDtneOgncZBEu4juaExx8TEhFPy6PUYRYPTFghl2rjdNXlEuAHrB9A0hnpIoqC69SmT8g9OUTZun+sRneNups6+tRx30YPFmqTCFX2KYnIKHFQOAcM+DBMU09nrMlwp/FlxPJgn86Mbz1q2Wf4W w5UA7Ad8 2XQ8JbY4QmOdaIoUEnLPsLl03No4ULf99O44F1HIkYIFhoBdp6biAjAkkC+DH4FleAxkWxBCIAvV2IzPWtEpqh1qq7fMTbQO3PKLZsENDtE3J66FPl6754wLjg+Kq6+rbxCp5lr4vZLcgG8VKssU+xKqjU7ovZ/I9BxeDeBXz6o/C39cURyMQl+gTop6/syIE3p2DwvRy7cAEtwCx7MfMY6LMUg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Peter Xu writes: > Introduce per-vma begin()/end() helpers for pgtable walks. This is a > preparation work to merge hugetlb pgtable walkers with generic mm. > > The helpers need to be called before and after a pgtable walk, will start > to be needed if the pgtable walker code supports hugetlb pages. It's a > hook point for any type of VMA, but for now only hugetlb uses it to > stablize the pgtable pages from getting away (due to possible pmd > unsharing). > > Signed-off-by: Peter Xu > --- > include/linux/mm.h | 3 +++ > mm/memory.c | 12 ++++++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 64cd1ee4aacc..349232dd20fb 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -4154,4 +4154,7 @@ static inline bool pfn_is_unaccepted_memory(unsigned long pfn) > return range_contains_unaccepted_memory(paddr, paddr + PAGE_SIZE); > } > > +void vma_pgtable_walk_begin(struct vm_area_struct *vma); > +void vma_pgtable_walk_end(struct vm_area_struct *vma); > + > #endif /* _LINUX_MM_H */ > diff --git a/mm/memory.c b/mm/memory.c > index e27e2e5beb3f..3a6434b40d87 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -6180,3 +6180,15 @@ void ptlock_free(struct ptdesc *ptdesc) > kmem_cache_free(page_ptl_cachep, ptdesc->ptl); > } > #endif > + > +void vma_pgtable_walk_begin(struct vm_area_struct *vma) > +{ > + if (is_vm_hugetlb_page(vma)) > + hugetlb_vma_lock_read(vma); > +} > That is required only if we support pmd sharing? > + > +void vma_pgtable_walk_end(struct vm_area_struct *vma) > +{ > + if (is_vm_hugetlb_page(vma)) > + hugetlb_vma_unlock_read(vma); > +} > -- > 2.41.0