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 786B4C7EE30 for ; Thu, 29 Aug 2024 07:31:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC88C6B00A7; Thu, 29 Aug 2024 03:31:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D78BA6B00A8; Thu, 29 Aug 2024 03:31:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C3FA96B00AF; Thu, 29 Aug 2024 03:31:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A363E6B00A7 for ; Thu, 29 Aug 2024 03:31:08 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 45187803C4 for ; Thu, 29 Aug 2024 07:31:08 +0000 (UTC) X-FDA: 82504461816.02.F4DE973 Received: from out-184.mta0.migadu.com (out-184.mta0.migadu.com [91.218.175.184]) by imf13.hostedemail.com (Postfix) with ESMTP id 816012001E for ; Thu, 29 Aug 2024 07:31:06 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=BckY9+6b; spf=pass (imf13.hostedemail.com: domain of muchun.song@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724916577; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mzy7EyrlX+BzOPBD0uMQ8N6l4HwDeloVfYpRJzPTRgE=; b=IT6fTD61nhKE5OdXkKFV3LdetWPjVrIZstCCc8uitqEUsRC5Lz9yt6jw1F+7zcXA//w6WD LYmgOMw+03V+3REW5Gb9fgPDDsSgVuZHU0mW5nfeQo4gIdkJHLnp616+EcCC9PTt59IHC/ jFGzWD7ECGNpCiDdB4nObZJn5D54IMA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724916577; a=rsa-sha256; cv=none; b=5ysCH7F9un3DbE2MjpRSUWlZW4DpP5noubv1+bT30PgU26Rh/4PX3SFLKnVSysS9KuMwPn 9PLpZSufNhjkf+jBSD/QL0+U9PbXQbDs5bRfXBiriW3D5LZdTlMirFXXUmiR8AK5hMxImW 3PJwHAaqE1RKCkP6ugluWl65T5ozD1w= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=BckY9+6b; spf=pass (imf13.hostedemail.com: domain of muchun.song@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Content-Type: text/plain; charset=us-ascii DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1724916664; 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=mzy7EyrlX+BzOPBD0uMQ8N6l4HwDeloVfYpRJzPTRgE=; b=BckY9+6bvyxbg2ieSc5wtrZHrNS+aAr5eMJ9rmRtFrw5YEvqcz/MKiyV8DGGwUFsh04SAK 4/4S9HrxdWnaS/9Eo4dclcCjs/j+JbU1OscQ+AaFfC/EKe+gEMbbNqr9PKYcYIiaMcm51E 2YSQmc3pLSUSL4niBe3OfUYw629o6gs= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: [PATCH v2 06/14] mm: handle_pte_fault() use pte_offset_map_rw_nolock() X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Muchun Song In-Reply-To: <5acabedfae7ded01b075960b4a91f2e15b4d76b5.1724310149.git.zhengqi.arch@bytedance.com> Date: Thu, 29 Aug 2024 15:30:26 +0800 Cc: David Hildenbrand , Hugh Dickins , Matthew Wilcox , "Vlastimil Babka (SUSE)" , Andrew Morton , Mike Rapoport , vishal.moola@gmail.com, peterx@redhat.com, ryan.roberts@arm.com, christophe.leroy2@cs-soprasteria.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org Content-Transfer-Encoding: quoted-printable Message-Id: <6F8142C5-9579-4F5A-B654-62E1E3183F0E@linux.dev> References: <5acabedfae7ded01b075960b4a91f2e15b4d76b5.1724310149.git.zhengqi.arch@bytedance.com> To: Qi Zheng X-Migadu-Flow: FLOW_OUT X-Stat-Signature: yxdzuah49kq71nwacagiaja3cbxbue8e X-Rspamd-Queue-Id: 816012001E X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1724916666-183197 X-HE-Meta: U2FsdGVkX1/y6HCQJgtAYkB1i2Dxri23xxwTWUiITmmMf7uxN8NV1n6RpnFW0PMZ/r7+KVRJCPok7Kf300ppjb+e3Hf7ftWMP19v3M1tPo7nGqTwt2XQUowTo5uBY7a9X3X4jbgRxzA/fmn94Cba3GqEy++Z+WT+/OvHf8qaI01OeQmeD9abBw1rgSsC6Npcvpkf4DUf9r2w5VRpQlXzOuMHzEtrMUx+1HckHemQ84wlAxLsbAqP/ZjISLidrSCv6mw6VAZfPzWL8u6+7i6DlMZ5U00PccoifuKtivN5BgQCDMUHU1VmQ4WVyz5e2htOPseThhRbhgfb1Y0AM9f0KQkDHRNISC+mKl6XeECht0iHDo8XqrTfPeqpDImT08qYL87o4urRPynLQYJC4TZQ9ot4xgvlsHyohBtX0AOyBGvjLANAHUr4aFqIY7MLTT6v9xmEh2Xwneh+sVRbHr3mwe/W9yNnPkSeJLMZeLOEIyri1ixZR3GcdtXYaddLNErWvDP5jer8zaLlQbxzTT5fCrSpI+cMyDvViV/pK6Yie9IZQ5AP8hotetCHgxYbbM7Yk440OHyNP0ey62ZcZadqV+lDSd6qoQO4o0t75Si/++NvDp25tY0Dal3bdhWUtEDzhx4JlbEKrqvVxppUt4EMVYCzcEILA0jHLyn7lnK5+2DEJI23OJPnhtSvVmctL6sh612T2pym0Z6Tr4g1yVgMQPi6Y2Qma4aZR3TNt+3ROx+FDO9iZMlliJ7vf04A7CrpltgVghlqFdoXHsRqcClYIjfAz7HqDWUQZkpLGz9++grcfgZII45ZwVjccNawCgv1IJAK1OISrzw/mb5RvHvSxf2d5E9heQQgm99FSb/eAOjT5bCYHQusec2BHFaYoyvLool7pNkjCtsK6le9Lzelr8kBGwNMo6I8+oTlk1WpB7uUC+nZ75Ptu84S7efZlxNBcIh12UwkD0lKAmM/g4A giSSSeNd zQECITfldGnl3FonWebFf1q4ObcA/R1M54/V0idYvMevLrhLdoZj3huyGjg26IiRElKhz52+H704N0vj0jvYcAp/00gquvpF4mUHG9ZBycsaeLLSKLN36/CfWnMZeCtmz/1VuibtxrRyPdYqRLL2L/MpLrR7Y5dWnGLQ0aXdCpvxNrYewnFSrN+D5apzj5WdWvIt6XHmsAWdjnkGzot3v1sLIu8HEvvt65XK1YFfd+PMkdaP5hKoRsfIW7VtK40amKUdmIPCLpC2NxPkwQ1opXlR++9WJKpKsKq4S66e+YF/q3K2sFjLwxdS/XI9A7ZkTLysNDgjcRnN7TL4zH2CYXu8FY3dmVviCdarn6E/opsUlsNM5uRyYjy/MuawX4yt31C3wgr+GCJiktng= 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 Aug 22, 2024, at 15:13, Qi Zheng = wrote: >=20 > In handle_pte_fault(), we may modify the vmf->pte after acquiring the > vmf->ptl, so convert it to using pte_offset_map_rw_nolock(). But since = we > will do the pte_same() check, so there is no need to get pmdval to do > pmd_same() check, just pass a dummy variable to it. >=20 > Signed-off-by: Qi Zheng Reviewed-by: Muchun Song A nit below. > --- > mm/memory.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) >=20 > diff --git a/mm/memory.c b/mm/memory.c > index 93c0c25433d02..7b6071a0e21e2 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -5499,14 +5499,22 @@ static vm_fault_t handle_pte_fault(struct = vm_fault *vmf) > vmf->pte =3D NULL; > vmf->flags &=3D ~FAULT_FLAG_ORIG_PTE_VALID; > } else { > + pmd_t dummy_pmdval; > + > /* > * A regular pmd is established and it can't morph into a huge > * pmd by anon khugepaged, since that takes mmap_lock in write > * mode; but shmem or file collapse to THP could still morph > * it into a huge pmd: just retry later if so. > + * > + * Use the maywrite version to indicate that vmf->pte will be Not "will be", should be "may be". > + * modified, but since we will use pte_same() to detect the > + * change of the pte entry, there is no need to get pmdval, so > + * just pass a dummy variable to it. > */ > - vmf->pte =3D pte_offset_map_nolock(vmf->vma->vm_mm, vmf->pmd, > - vmf->address, &vmf->ptl); > + vmf->pte =3D pte_offset_map_rw_nolock(vmf->vma->vm_mm, vmf->pmd, > + vmf->address, &dummy_pmdval, > + &vmf->ptl); > if (unlikely(!vmf->pte)) > return 0; > vmf->orig_pte =3D ptep_get_lockless(vmf->pte); > --=20 > 2.20.1 >=20