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 ADFF2CA0EE6 for ; Fri, 30 Aug 2024 06:42:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0C52D6B00C3; Fri, 30 Aug 2024 02:42:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 074726B00C5; Fri, 30 Aug 2024 02:42:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E57816B00C6; Fri, 30 Aug 2024 02:42:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C69F16B00C3 for ; Fri, 30 Aug 2024 02:42:43 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 378B8814BB for ; Fri, 30 Aug 2024 06:42:43 +0000 (UTC) X-FDA: 82507968606.08.C5F0CFA Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf17.hostedemail.com (Postfix) with ESMTP id 3A03F40008 for ; Fri, 30 Aug 2024 06:42:41 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=ZIYVACx6; spf=pass (imf17.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725000071; 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=sAPIQ+0oTzbZ3F2sniQtCFwQ1sSVebQi1669/F3+Skk=; b=zqJf0o30jBRTXzLFEL2XYlJiT34nj2XcZc1BvtK7brhNo9Yqt2XghdrPttFN0bsqXfho4f GVY3Lq357I3iPfb0EQiIu3ii0fNmWI1AmiGnfPKYRaacLMORqT61iu+Qt0S5vUJ4Wbp5o5 GjEuQorpUCS+W9DLUYSx9JC3lUz6JR4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725000071; a=rsa-sha256; cv=none; b=q/uxeJ3WDXomHaLuYBv00XjHNGrO0Bvo6B7y6zczZOveSZ6PqlA5CItfzo8VkAZLQxku/3 gSZEu1KZeI5IeUNzcPbhYOVDIVhY/sP0CqEiQyjuHLHa2atYuNU9ca0hL42xVhiRHKVY7l F4oC41K8bH2GfHzyRO+aiZl+V6CdtcQ= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=ZIYVACx6; spf=pass (imf17.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-201fae21398so10651915ad.1 for ; Thu, 29 Aug 2024 23:42:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1725000160; x=1725604960; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=sAPIQ+0oTzbZ3F2sniQtCFwQ1sSVebQi1669/F3+Skk=; b=ZIYVACx61cHK0iunvEluaHj9O1GurBvxfwwodTAnEULXU6+sBcL7cT3UxgAxhnOdv2 yxTdzY+YF0pvccgrySQadLQmql8MJVJRVu+DzUUXi2YFhSaB9EzdG/Re7ar2rhHB/yuS iDs8RMAXITxJIgR1MxMP/eQkA18ZhSMn1nj4aWfTkEStlVlPrX3vu63YF3ifjmRrbTXE Ug+UtrTd/Uuiywtb6uLA6LwSoF2znNt2fH8c9B24/FmxFFSCprVk1TU3ZLJKkLRmBT+a 1vkhssNBBIGkOYZjWNArPFueJNEhDoUt1uHI2SRMlOfPrZzVw/mRqXAoTwPZxgqGznv2 CP9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725000160; x=1725604960; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sAPIQ+0oTzbZ3F2sniQtCFwQ1sSVebQi1669/F3+Skk=; b=jSqiE5mYE2nV0sm/6OOpf0Owb26z/P85w0rudXauljR42vYlWzzun40vjVJNl+oS3o WVOzErumz2ie+BWUb3tUc/aGGVd6LcPf1BLVPlWzw04Ekv0mpAD3s7X4M7kh0Le6/D2H OZHj9auuhIdhh6EwE53j/07K6nt7IaFQG7fQyw5SIl3Lmlb8aCabV3QV+/qSBCZZHa2K qpSieGjw4lOm/+comdGQ4Wq6JHOxK7oFlqMq5RoCDcqWy7cun1wOetgXuOQILcYbNzN0 wJt/n//nM51ZPeROMujfaHvGKxF3MBxH4+Zh7Z4Zr6SPgsm8ynzkcfPoZSl0uE3XylFC NjQw== X-Forwarded-Encrypted: i=1; AJvYcCVwLu3oYvfV2kUB+nLcNkcjwBsef+IU6E5vDerXd+fzhM5o66mv2xVxiFGLfadVN3u/QBKvKLuRsA==@kvack.org X-Gm-Message-State: AOJu0Yx+Bjk1SvM7Nrop7DVPHsDcMrzwjU3yz4bGmIN1LfOZwQ8zpeXL dsrZwOWa1aIkMFZqIrQmvuhPt/h88wHP3GQ9nXdkF5zBNEnXgFKicVcHMgNzBAM= X-Google-Smtp-Source: AGHT+IFX6MWdATn3PHJECm84KknThK0jKPALrJmyAm2CUCVW6pc6Pf0GS8/g/1o4RkhLk/GIua405Q== X-Received: by 2002:a17:902:da90:b0:1fd:8c25:415d with SMTP id d9443c01a7336-2050c3d2a05mr57644625ad.36.1725000159781; Thu, 29 Aug 2024 23:42:39 -0700 (PDT) Received: from [10.4.59.158] ([139.177.225.242]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-205152b14c4sm20794075ad.46.2024.08.29.23.42.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 29 Aug 2024 23:42:39 -0700 (PDT) Message-ID: Date: Fri, 30 Aug 2024 14:42:30 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 08/14] mm: copy_pte_range() use pte_offset_map_rw_nolock() Content-Language: en-US To: David Hildenbrand Cc: 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, 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 References: <71100c3867c4cf6f5f429ce9f2db8432066d0e99.1724310149.git.zhengqi.arch@bytedance.com> <4101a941-6286-4128-a16c-29c7cffcbe8c@redhat.com> From: Qi Zheng In-Reply-To: <4101a941-6286-4128-a16c-29c7cffcbe8c@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: 37utxwj8wjef5x8en6ycrefckgebtw98 X-Rspamd-Queue-Id: 3A03F40008 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1725000161-362932 X-HE-Meta: U2FsdGVkX1+x5zDRbbF+z+U5/gICq+rYEOD+ctbcbTHW+PnNFAng3oBwMWq8pPGmBflLfb+qc4Org0WiWhm2Ra4BhALp7B09QEoCOuX4QIW40QLqIsWXZOxp5nOoWZF/d8Fqxp4zkdAx/qbxEpyISeLBhW2cRsSzU2K0Amw/R/U5aRwB6xa9LOvBpANk1snPJMRGirl1d7qi4q0txnIKIz/hUD4jmpoc5Idpk+gqAh5pJCPwvbPqJiBmi1LvnKmOAOoUZwGbkLOiNciLfGdeFIhTZEFqzLIDeAdQaDgc9RiE39cfRWaZPAM5/CO7MtC63doRlrmnvMzm7FHb4OGQgNJ58z/h0TS0N6yiL6kEr9JMVBrW8aDsiczn/nIkwfnweUzCObWtgpaW0MGGp+yAdIsh63LNKqatVQB/3XtIjZ1jCqsrGP7nfUd+uOwbVk85Om9WZrfufpB/Dy+37JriSXnd8kzBZKEILLIUcmDdv3bzujWAk1lkcwG7tcu9NARVUE7S6my69FnJ0w/ZGNX+l2vfLOl18Vryubd2jRLwCiYlgdcToQDvFo+Xm3N+FLN3t2wHTg2sY2Kt4sZSItW1hFsde33r8MqHPTZffG5Q/WEXw8i9dYjGelRp7XWpmnjMzbs4CuoPtqMkAYx/ZXEf6abnve3XDSaeQrg5QVrzBGnZXffjN69+enQKpTTBTVWwXEWiRHUSwiDsqM6fr83TWXxRpmO5beMPFXyEFOC9PXYsAMH2JXAvtFrwSt0YKNvmvsSldAnyeF4h92iRhI46g1nZ548dudk1T6R3XwHgvdfioANjxUZqa8Fs9sjYd3r14mi7WQTrUoYMXjE1/7LQGN9Yj5gtqSJ7ozY0f169sesDzFoIJsRFPOmU0HeSHoSRrGVnrSte/D/2bpzu085YKqwlkqtxY7Q6PP8AQFzisF3UoAkwcWB5AjfpKi+GzC0bml2ZTfzrJHoa/OVX4Eq Ggy0bLYC XFV/XABTpvj+DRhhK/X7FfmkZCZMLoyb1+GDvMaCp2tschgFZ6i3vdkJn+ugpWdCa/NqGzZpNKp6Br0W1tHDTa2bT3Pf6azFz6jCJBpaOETyJlRJJUDC6Ld5E2IqwBKe8tS3HjW4WBOj9e5liU3VNZyyD+RNkFvsgl0f02E4Qebi1UPclzGuiS2EAd0EWBv+WONF15m16vgbZFyTlLB85WBGhGNY8rHw6TcM5RPdlx+VfjRJvnI9ukfz0h3jaDERec5PEszkoFWHJWO74hFkFdwRvtyOw6KjCCj7pFT4dRB5NRWO91AhFi1puE6idUpPEGsi7/CMOMBlQoT0Ao0tFyPNbVhBC+pcBHNG/cv7r2IAWMXvJnWoC3XGob4SfDeYkweKrZ+jjXWnbAX77LT0GFq1b7zBpQ77gVAOGcAnlzlj7xyb/sAR5pq8sE9tn6Wl4pRVH/e8B2Ds+QY8OxxTBjc9wV2Pqbg3O0w9rn9SkdgxuQvEWZJW+UfCibQ== 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 2024/8/29 23:36, David Hildenbrand wrote: > On 22.08.24 09:13, Qi Zheng wrote: >> In copy_pte_range(), we may modify the src_pte entry after holding the >> src_ptl, so convert it to using pte_offset_map_rw_nolock(). But since we >> already hold the write lock of mmap_lock, there is no need to get pmdval >> to do pmd_same() check, just pass a dummy variable to it. >> >> Signed-off-by: Qi Zheng >> --- >>   mm/memory.c | 11 ++++++++++- >>   1 file changed, 10 insertions(+), 1 deletion(-) >> >> diff --git a/mm/memory.c b/mm/memory.c >> index 7b6071a0e21e2..30d98025b2a40 100644 >> --- a/mm/memory.c >> +++ b/mm/memory.c >> @@ -1083,6 +1083,7 @@ copy_pte_range(struct vm_area_struct *dst_vma, >> struct vm_area_struct *src_vma, >>       struct mm_struct *src_mm = src_vma->vm_mm; >>       pte_t *orig_src_pte, *orig_dst_pte; >>       pte_t *src_pte, *dst_pte; >> +    pmd_t dummy_pmdval; >>       pte_t ptent; >>       spinlock_t *src_ptl, *dst_ptl; >>       int progress, max_nr, ret = 0; >> @@ -1108,7 +1109,15 @@ copy_pte_range(struct vm_area_struct *dst_vma, >> struct vm_area_struct *src_vma, >>           ret = -ENOMEM; >>           goto out; >>       } >> -    src_pte = pte_offset_map_nolock(src_mm, src_pmd, addr, &src_ptl); >> + >> +    /* >> +     * Use the maywrite version to indicate that dst_pte will be >> modified, >> +     * but since we already hold the write lock of mmap_lock, there >> is no >> +     * need to get pmdval to do pmd_same() check, just pass a dummy >> variable >> +     * to it. > > As we hold the mmap lock write lock, I assume it will prevent any page > table removal, because they need *at least* the mmap lock in read mode, > right? Except for retract_page_tables(), all others hold the read lock of mmap_lock. > > We should probably document the rules for removing a page table -- which > locks must be held in which mode (if not already done). Agree, I will document it in the v3. >