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 84DE7C48BC3 for ; Wed, 21 Feb 2024 03:36:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B17626B0071; Tue, 20 Feb 2024 22:36:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AC7486B0080; Tue, 20 Feb 2024 22:36:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 98EED6B0082; Tue, 20 Feb 2024 22:36:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 86B506B0071 for ; Tue, 20 Feb 2024 22:36:55 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5AEDDA0C00 for ; Wed, 21 Feb 2024 03:36:55 +0000 (UTC) X-FDA: 81814399590.23.4293327 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf19.hostedemail.com (Postfix) with ESMTP id 9A5601A0006 for ; Wed, 21 Feb 2024 03:36:50 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=NTKL0Yc2; spf=none (imf19.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708486613; a=rsa-sha256; cv=none; b=capyRGkTr+P0lEYdJ7ydttFTMpdl3mf36hyekMOiD63EMmwB2f0qPXlsqmLZRX1YrJ9Doo GtLJAFE82nUpNRJ7Mzgdd6htMOHtGgeew/zNc7kjuoD4ywQ4XjBy+m2LehxsSW9tdBzGp1 XU+ZiX9pE9tuFyxD95hbknyb0LK7Osw= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=NTKL0Yc2; spf=none (imf19.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708486613; 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=Bm8ztZBWaX+I8ZmKrLPgnl2Mm9WYFeNRbyX8E0zkgqk=; b=PrrLCOxGYqXG6z2HKqI7aSGzM1yGxQVUS5P00u1xJGXooByIl4WJHMCG6ia7CDJkGJa5fi okHvD0a6hMicUqvnuMwz96cQtIKijOX7IaFk/maLOqiY6qFX5ynYtYyEi9kZ/aaw6rIPpG 2NZvQRD2RaOKeGpTRtY8i/T4rXY/WNs= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Bm8ztZBWaX+I8ZmKrLPgnl2Mm9WYFeNRbyX8E0zkgqk=; b=NTKL0Yc2oC+1BhjF1U7uQGgpLG oWjWcyVPyMdO4ISjl1oM1ToVHQAoDNPUU6EbUdcGE7U1eg4lFPoC/rNVHEU2d4DXJpIxUFerOxjpo wcsm82gKEc0cgv4WjlEoJ/CEcYqhjvjJRahP8ZvTDTyj3Lgwj7UOlqVWVHPYwJc42qdxuH2+DC6H0 iBn1thsA7O8JGOUx6JNUke4/yf0Orzcz+6rEFmK/Bpk64mcs+5Ea0C+yJV9Ik+zx/tf1Uiw8PFNXb rT+c5T0BgaKsCLhMF8eCOB75B4bgu7DggyNl6+NLktIJAXufwCG4WYDmFmjDH9k3EqPipnbtXCPUe cHtwXk+g==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rcdPa-0000000HIb0-2xJF; Wed, 21 Feb 2024 03:36:46 +0000 Date: Wed, 21 Feb 2024 03:36:46 +0000 From: Matthew Wilcox To: "Vishal Moola (Oracle)" Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, muchun.song@linux.dev Subject: Re: [PATCH 1/3] mm/memory: Change vmf_anon_prepare() to be non-static Message-ID: References: <20240220231424.126600-1-vishal.moola@gmail.com> <20240220231424.126600-2-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240220231424.126600-2-vishal.moola@gmail.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 9A5601A0006 X-Stat-Signature: q3111e9gikrwu5desmdg5in76miksd7m X-Rspam-User: X-HE-Tag: 1708486610-286431 X-HE-Meta: U2FsdGVkX1+1/CabmYV4B/sHtFghDM23Bby9+xsk8ZGut4liEPKUujb1IMqxgM8tAZ/dIuJt1bxBstJSH5PSVfA17EnN207TVt7Vkv+7RjGdhOUGGFNOZPr56cIIqR06sB/1deOcWLaL/e0m2bvoLEkjtRLN2ki8bJG6Iv1PTQASp0vXHJDNW/a1FRUddC/8iiQBhpiPSV65VWoyxUi9drAycfBMKed+Wm6wq2+W3o6K3pgCvOjwbCer3x61eoU6pDU+GkaKgNh7ahlSbHbA3esENQ516y3kUZzA5Q4tNlGwA3XrBdS7665cuJUrHIT9/rwIFm0gIi9FHY2wtiPJYu1KsWl49/0KIm4B+/fbicugftQOPL3ReDPbupMCy7ReUcd54U0GZG4JM4csV+mt2WCZUjvG4TZ2PRcq29k/le6u2ypBaZmrb7ypDZW+OBYfGwxBzE8cixzSL/ecDEVK7lTCwvRnTdCMfunnaaghPkruLGalEG1qx+tORkSjnYyiji/CRhHlSfIdWBT9SIQrDhaRffN21ZLlBpJxoT2VcmIzxX1PHUQQe0gVC87JBg4NNmtuCcEnIoTxYORCy3Tvx0LbCvtCmwLgian9FEFpM6ZaT/LE55Rek5YcksGmqdKrz6xTTHdwyLTlvtB+uUu6DCOmEoWdX5MdvITZUxTBkoX/BP7m+lXZQJYWWtq2hnXrsFlws7bBy6fDqs/ErADe5D5rfvoV7vdBZoNn8MUXZcIEXrI3yfUvRbmYFoPJAilJVsKUpaxVlMH0vKSol2bU0gcNhf/001iCRXoXhSr77IE635ZP0Sx8gBPpmKUIWEvaYl9GTAuAIgxo8oV5h9AkJmLUbQd5sTFTAK9CMSwm8XeeldWmGeEKAwewdxgb0dUXAM3AyvmGxb+33MkArBPSUpxKojGmX7+Sm+/uwEUN/44OinqneH1KbfIyP5plsY2xp8PYQRrztL+l/6FR0X1 WHAnnVgv QkJ795MbK6rvzKtEsAkvM6/DWhUSqe9AHF5mSdqbBo/HzXZ5bnRIo4z1rerSKCrrtA8ZsNQ1e+372o7m+aZtlMSDd3v4XqX3aKVJXkLjsI9+uCI/fcn8H3RY24BIqN9MB/mM/mx2S92UfJCEPNWtJzjMq+LgbfrffCvVO03koLIkxsPOQtNn/vlHrYcJwLQxACvaFWYpxmEtpPXrkSUtg3wmgd7vL3Fj0Il+8gpN/MMZZXgE6BcgvAIROh+VOcP0WMtBn 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: On Tue, Feb 20, 2024 at 03:14:22PM -0800, Vishal Moola (Oracle) wrote: > In order to handle hugetlb faults under the VMA lock, hugetlb can use > vmf_anon_prepare() to ensure we can safely prepare an anon_vma. Change > it to be a non-static function so it can be used within hugetlb as well. I think the prototype for this should probably live in mm/internal.h? > +++ b/include/linux/hugetlb.h > @@ -272,6 +272,7 @@ void hugetlb_vma_unlock_write(struct vm_area_struct *vma); > int hugetlb_vma_trylock_write(struct vm_area_struct *vma); > void hugetlb_vma_assert_locked(struct vm_area_struct *vma); > void hugetlb_vma_lock_release(struct kref *kref); > +vm_fault_t vmf_anon_prepare(struct vm_fault *vmf); > > int pmd_huge(pmd_t pmd); > int pud_huge(pud_t pud); >