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 08582C52D7C for ; Wed, 21 Aug 2024 09:53:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8AE216B00C0; Wed, 21 Aug 2024 05:53:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 85A5C6B00F3; Wed, 21 Aug 2024 05:53:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AB796B00F4; Wed, 21 Aug 2024 05:53:24 -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 484786B00C0 for ; Wed, 21 Aug 2024 05:53:24 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DA9FD160B63 for ; Wed, 21 Aug 2024 09:53:23 +0000 (UTC) X-FDA: 82475789886.23.4D195A7 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 8707CC000C for ; Wed, 21 Aug 2024 09:53:21 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Xk1fh60a; spf=pass (imf28.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724233961; a=rsa-sha256; cv=none; b=2Qk8poH13j0ocGE5UYaH/JpX1JkFwV5vgeNAp8O1azBOFrCRvSH7icFNMsItBeFhIhRrNY bG3p2ClBhw0iONJ6R1rMvIPSOEMpUwM7Q22FHusZSMDd6czn1VirhO6uTFL0ygIArHvdtO L4hm9y/mxIMcjeBQyL8UZ2Il8c8I4Zs= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Xk1fh60a; spf=pass (imf28.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724233961; 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=vZn4ThD/kr9kLD5Pj4IQMb7FP9/l3mXBUO+DX3xIsjE=; b=wKeO3TmEugJYwL9pTJv5frHdUMTRypYPMQFqlGUJ9ePc8dceQsAEYTcWeeLSkssKNP9yk9 gQgqjH2EgkH8WHnYBoTNR7MzEwKq4m3qV6v67/6W7W/q12MqrI7w0z4tYOdOee+p7djRRu yQywi3ziBf325vWgdM+2zCNiWSN54xY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1724234000; 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:autocrypt:autocrypt; bh=vZn4ThD/kr9kLD5Pj4IQMb7FP9/l3mXBUO+DX3xIsjE=; b=Xk1fh60a34LqICcaXvXJ/tvgij+rNSPqezNyPvx/5SIJMmrGtjOr+jqJdEcwEuApzZkjGf vJ9BeaXKt5dX5bFRxZVpQHj8i1BIAC6eFY0eiBVO8Z/CZPrHAR4fg3ScrlW8SuON7Qk1EF McNGfwYZ5G/vo5mEcuX8Vlc+W1RFFPA= Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-617-7_NE7Am6NTa4oo9YNhqHlA-1; Wed, 21 Aug 2024 05:53:19 -0400 X-MC-Unique: 7_NE7Am6NTa4oo9YNhqHlA-1 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-a7a8a38a4bcso248267166b.0 for ; Wed, 21 Aug 2024 02:53:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724233998; x=1724838798; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=vZn4ThD/kr9kLD5Pj4IQMb7FP9/l3mXBUO+DX3xIsjE=; b=HG7SvDhmA28SYAsRV21K9m5DentqUSDdDkzTt/9Vt1jOeO6sy86PX/dFe/F54+YNpG mVJL/ruhgOWeUMSrMQNbuVr6UyzSmkZnTDXNkZnqvclScj2BwzV6gMUiZ5L4FZrgUqur UrcU8yNQ124th67f/L55GFsL+bUBiyOyENreXJE7s1qC2ITvgfODpdNjAOYV8v9I918U cEqj907Z8hvOH0Sa6tkwuVy3dBv7hjGjRaOBSAGkO1Pw7dlXtr5KkzCsPDcv2dC7pv7O L23oNmPPVbev66qa1q3QzapTTj83TdUNnZHLmAUAZO0eYJ6IwkIdmNa8mBdBwOJLRWXF qFMg== X-Forwarded-Encrypted: i=1; AJvYcCWWqk5h7zxtbe3Lr6huf9WqFmBgm6ska8OU0jDITM6yJiszJgWrGb27TAvWBaOAgMApPUtWo7H8mA==@kvack.org X-Gm-Message-State: AOJu0YxU1QigBQKPbsSiU9tJVGiPQ5pA+r66h53nfUmhOEOIE+o2+Xyu L6oXgL/8OOOvc2P3UfUx5A66VK/HqCgcn5hczKBRsVDpmWDUI6n9RS7Rs72yOyfJ57ayq2MIWzQ 3cUmKo7Idgi2wQi28WQwUCpKb7wbS9sarhKm0PjkEEIr48S4J X-Received: by 2002:a05:6402:1598:b0:5bf:16d:197 with SMTP id 4fb4d7f45d1cf-5bf1f1650b0mr1254175a12.21.1724233998081; Wed, 21 Aug 2024 02:53:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG3sWB2VHUwr/bEbC91GgDDehXJ5RFoI4hw9w8+sSEHugEMzmtj3yqmYTSOHvyKEeqPerBTOw== X-Received: by 2002:a05:6402:1598:b0:5bf:16d:197 with SMTP id 4fb4d7f45d1cf-5bf1f1650b0mr1254140a12.21.1724233997148; Wed, 21 Aug 2024 02:53:17 -0700 (PDT) Received: from ?IPV6:2003:cb:c705:4300:16d5:c5b:8388:a734? (p200300cbc705430016d50c5b8388a734.dip0.t-ipconnect.de. [2003:cb:c705:4300:16d5:c5b:8388:a734]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bebbbe29b2sm7892884a12.4.2024.08.21.02.53.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 21 Aug 2024 02:53:16 -0700 (PDT) Message-ID: <61c05197-0baa-4680-ad24-5965ba37dc35@redhat.com> Date: Wed, 21 Aug 2024 11:53:14 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 06/14] mm: handle_pte_fault() use pte_offset_map_maywrite_nolock() To: Qi Zheng Cc: LEROY Christophe , "hughd@google.com" , "willy@infradead.org" , "muchun.song@linux.dev" , "vbabka@kernel.org" , "akpm@linux-foundation.org" , "rppt@kernel.org" , "vishal.moola@gmail.com" , "peterx@redhat.com" , "ryan.roberts@arm.com" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" References: <239432a0bc56464e58a6baf3622fdc72526c8d57.1724226076.git.zhengqi.arch@bytedance.com> <6a586524-5116-4eaf-b4f3-c1aea290d7c1@cs-soprasteria.com> <4b867535-8481-4fa1-bed1-ad25a76682f0@redhat.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: i17egh3ft9ojq3aw3s6nmpbbbeqy7xbg X-Rspamd-Queue-Id: 8707CC000C X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1724234001-926015 X-HE-Meta: U2FsdGVkX19JVFzfojAmGpy2wnaW6Jrbex9gxMUQJMPq7mB2HM4mukdbOLJxGAivD2rDtvXb3CKMcRR0juOOkY0KA1rJFUE6v4fVbF9Yx5DGamqR17M7vNCuYqgN36+7UGAegi6pSfTzXr/27QnwHO1gZ2ARBxtDcvcGQM8TZO+WHYZ7MG4J5ZtuXAyZc/xzpZCL5sRWo0S3xNlcD/rAAmAc3VPf+Um43lM+Us6/avwooNZngpxyQ/HSSElhFZCi33iz4absIQYUv/Z+BhGlJ5+gwn/4IsiNePOdLsxACfnpLPZlDFmQHXJ/B07XKH9bRm22PKDjJdBm2enJI9mSrk4yHYefldnRdf23AEMz3zKxlR/9ll2WH3kl2tN1cHImWwAwg03DqkMmjN3zNHX3RCAwvuW0h7PdGcmQa1zYlx4VL7/Uw9KLxPP+4j46Mff/IBSte/cLmnM2Gnmc9D2jz34TeenivjecwQHq2Te1BMxEHkoAaTdUbXy3WKMBEnNn5Wp8gUyjNMSkbv9JxaC1ISm7ihPt8yUne03OISzj3VJ/HtwCeU2OcQ3nR/wfMbpHYLUchX8ECSpT+42SBmxB0s6kFyN4vJUwZ70QzzQNXb+47rnjKSAAvM6N/xnZWdzlu3BiPN8RICD3y+JiFfMob9GCg9e5vIP2HTF6wW9i1E/YWqzZfZhLQyl08pQlOTT7gOnbRHARNr8FAw/zMpWGqNBGRwB5cQ81uZd6SWGDSc0kUn+UEgD6KkHhbAOiubrL3o2wkcKxTTtFEWG8YjtsP/Wxo+Ub91YveQ2C8T5OxY74hSIiZjgwG9NIh+V/nAeC9u7JNJDu+AOSAYY/2hu/wCekjZCI5Znx+XAfVPIvKoWw5QhN7QWnuuoYc+krSptkJ9XQKYvPjxonKfZ5/uwy8qNMY1UbjJ1vqqKsGIABsaf68eZbC45avwBnzzyQwEQ9TNvr7dxzvYbbyDjm1Bo CkoG1+X/ 1lqpTTgA3llVrlYFi1QYERTAjknfMWyMfDSv1BEg32NBO9Ws3ct7jvbtPupLZSaAAlA6Q0S5u0gfnjfnkfpkF6Wen6gUdZBP+NqIvrug1AthjQNK2gjdCryTUgetfJss9WujCewSO5U+fgAL6Nv7rzrM3kcWlX1tRD3KK92HJg/F1R9UXCpNXn4HI2k9S9Sp1X0lAle9Yt8uRnS/p/boc9LLGkqy0UXr/Ki6XsWJ+E5Oe+lESi+88zVGteiMaDXRp5WVs36IIO3jCnBChUqq0Q1kp+/vYTt9bNp/1E2PA/cyX6z0rR8ZSvLmxhjd730xfU+7O8oWXtIDuJOfcZ6BRGCUKiwt6vYxvUmxteuBR2iL6yJ4irwb5qwo41BqQSBcKiZp38L6g2f90ZWXRR+xQrArPCAlkSrCsHpyPHOTdUN4WEoVHrUshdswlW6bYeAjszddt5YdHPRcVA100kZisabfxhf8oF1LraojoYctA2+0RbxQzqbjJtfZZzXJ1cnsbB1n9M3eo1OlFLc+Q1lWXlso8ICMquEizxjLmVYdQmyB7lI3O6u2SAAWpwzA6MOaP23eR 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 21.08.24 11:51, Qi Zheng wrote: > > > On 2024/8/21 17:41, David Hildenbrand wrote: >> On 21.08.24 11:24, Qi Zheng wrote: >>> >>> >>> On 2024/8/21 17:17, LEROY Christophe wrote: >>>> >>>> >>>> Le 21/08/2024 à 10:18, Qi Zheng a écrit : >>>>> In handle_pte_fault(), we may modify the vmf->pte after acquiring the >>>>> vmf->ptl, so convert it to using pte_offset_map_maywrite_nolock(). But >>>>> since we already do the pte_same() check, so there is no need to get >>>>> pmdval to do pmd_same() check, just pass NULL to pmdvalp parameter. >>>>> >>>>> Signed-off-by: Qi Zheng >>>>> --- >>>>>     mm/memory.c | 9 +++++++-- >>>>>     1 file changed, 7 insertions(+), 2 deletions(-) >>>>> >>>>> diff --git a/mm/memory.c b/mm/memory.c >>>>> index 93c0c25433d02..d3378e98faf13 100644 >>>>> --- a/mm/memory.c >>>>> +++ b/mm/memory.c >>>>> @@ -5504,9 +5504,14 @@ static vm_fault_t handle_pte_fault(struct >>>>> vm_fault *vmf) >>>>>              * 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 >>>>> +         * modified, but since we will use pte_same() to detect the >>>>> +         * change of the pte entry, there is no need to get pmdval. >>>>>              */ >>>>> -        vmf->pte = pte_offset_map_nolock(vmf->vma->vm_mm, vmf->pmd, >>>>> -                         vmf->address, &vmf->ptl); >>>>> +        vmf->pte = pte_offset_map_maywrite_nolock(vmf->vma->vm_mm, >>>>> +                              vmf->pmd, vmf->address, >>>>> +                              NULL, &vmf->ptl); >> >> I think we discussed that passing NULL should be forbidden for that >> function. > > Yes, but for some maywrite case, there is no need to get pmdval to > do pmd_same() check. So I passed NULL and added a comment to > explain this. I wonder if it's better to pass a dummy variable instead. One has to think harder why that is required compared to blindly passing "NULL" :) -- Cheers, David / dhildenb