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 18E34ECE58C for ; Mon, 9 Sep 2024 22:43:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 69A486B024C; Mon, 9 Sep 2024 18:43:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 64B5C6B024D; Mon, 9 Sep 2024 18:43:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 511D96B024E; Mon, 9 Sep 2024 18:43:35 -0400 (EDT) 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 351456B024C for ; Mon, 9 Sep 2024 18:43:35 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D32E9C11A7 for ; Mon, 9 Sep 2024 22:43:34 +0000 (UTC) X-FDA: 82546677948.28.E796231 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf22.hostedemail.com (Postfix) with ESMTP id D3AA9C0009 for ; Mon, 9 Sep 2024 22:43:31 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=bm8oGeez; spf=pass (imf22.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@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=1725921784; 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=cM1LMqruU568mLVa+bcPtcnQ6LfYXyuH9WOTjFAmy/o=; b=SpAlfJww97sBl+7U8fosv+QWmlvXOhcnX8dMF0wY2DXzG/2OH7aXNF4M5qtQgog/FZqK8s vA1Gx+Bs6gWtb4gu9ukb79639669Ulj+yWUh4tNb3oC+mKRjcx8H80+u1+v5l1pAGqAMmS XWU/LG8HxoxIjC7NAtnkSKwK/FH7bvg= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=bm8oGeez; spf=pass (imf22.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725921784; a=rsa-sha256; cv=none; b=3oTX/H/nGPfXhMETPanNeOjFECti3U4sEYMSop1uLs3SOIMkfxCckoA1jT83oh/iINTbCR /djctVrmK6421Nly9bdIVsmDlIu8//Qdn9ytkoRXQfdNllz5LQjJoTIe2Q2PGKSFB0RfqR soXq8dgCJDaUnRdFgvaol++8Dv1CM/g= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1725921811; 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: in-reply-to:in-reply-to:references:references; bh=cM1LMqruU568mLVa+bcPtcnQ6LfYXyuH9WOTjFAmy/o=; b=bm8oGeez8Wi7fB1DpnausnzCVKEFVpwlZP+JCeUaITUkTOs9D9sKyT9vjPfN5uof0g1CI8 5UspV+ECdPs0t1LEtU4OyjGvN7KxQ/qHgs099dxlFu9qNa7a29bb6dwcfP3GR6pIMCXhFq fWR8LUXjL7KP1nMS3LLgTTbO1B2avsI= Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-688-OWsXZvGJPMa-LPTC2qzvVg-1; Mon, 09 Sep 2024 18:43:28 -0400 X-MC-Unique: OWsXZvGJPMa-LPTC2qzvVg-1 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7a9a6251df5so502180185a.3 for ; Mon, 09 Sep 2024 15:43:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725921808; x=1726526608; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=cM1LMqruU568mLVa+bcPtcnQ6LfYXyuH9WOTjFAmy/o=; b=GBKAZ/B25HHoR3T8cz6dr1UULNGpOpof0vG9uKq7C4LyfTSVpFEK2t57Mc6yD7MZjd vtZQa7kh0txmgiYjSKytVrM4cM87005Yhvqx3eLG/yPAIXZQ5sN5zGFHsi7W+zTjRvCv 8YKBPlQHDm7eGScgIGbKII1hDU3jWvWL+ytoaTLNj27mZajancgLJ4H6Zg4GhQBdRTCL WnA4oiaNuakSVqvb9xDh00zBfCfxo+BzQfX1KCUodStP8JhJVVcTJVytOaN+7fvrASyt WLGb37Turlirzlo2R2cC6ONbgMcVZr5UuH3oFui3rdX9rQ5HwEXNRlzeiHl9ZAzAgGdg Qfeg== X-Forwarded-Encrypted: i=1; AJvYcCXNFN54CP/E+jIi5Clcr/PGDRVImb+RnXRp9REJPl8c64OFtqPzaFJL5T9cynpnd1e/ZKm+Jn2muA==@kvack.org X-Gm-Message-State: AOJu0YzBMLtBi13hdbiSA6gPZNwypL517VY2PssRfAMBr4kEW3cJ8w41 wqDY833m4N3Y2FDIxIuDPGAuHUSDMJgoeOyP+gF3d5YkprME/pdrVKSHq4qHv1R+mD1B4R+94Yr fpUflYiqRV+Qf35U5/hQZdffuXYBtTA4oK1gaZCQuR6Y0lgAX X-Received: by 2002:a05:620a:40c4:b0:7a9:b3eb:9c91 with SMTP id af79cd13be357-7a9b3eb9f2dmr798945685a.38.1725921807643; Mon, 09 Sep 2024 15:43:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFgXhcazpsa3pwmnq+LCx1Ml8LnWjFodfmG5RpRGh6/fGttMz1xEWApQdheYusHFGBdsnr6MA== X-Received: by 2002:a05:620a:40c4:b0:7a9:b3eb:9c91 with SMTP id af79cd13be357-7a9b3eb9f2dmr798942785a.38.1725921807304; Mon, 09 Sep 2024 15:43:27 -0700 (PDT) Received: from x1n (pool-99-254-121-117.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7a9a799605csm257058585a.65.2024.09.09.15.43.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Sep 2024 15:43:26 -0700 (PDT) Date: Mon, 9 Sep 2024 18:43:22 -0400 From: Peter Xu To: Andrew Morton Cc: Yan Zhao , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Gavin Shan , Catalin Marinas , x86@kernel.org, Ingo Molnar , Paolo Bonzini , Dave Hansen , Thomas Gleixner , Alistair Popple , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sean Christopherson , Oscar Salvador , Jason Gunthorpe , Borislav Petkov , Zi Yan , Axel Rasmussen , David Hildenbrand , Will Deacon , Kefeng Wang , Alex Williamson Subject: Re: [PATCH v2 07/19] mm/fork: Accept huge pfnmap entries Message-ID: References: <20240826204353.2228736-1-peterx@redhat.com> <20240826204353.2228736-8-peterx@redhat.com> <20240909152546.4ef47308e560ce120156bc35@linux-foundation.org> MIME-Version: 1.0 In-Reply-To: <20240909152546.4ef47308e560ce120156bc35@linux-foundation.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspam-User: X-Stat-Signature: m1guq8tgzmc57xjnowunofdb57uk79cb X-Rspamd-Queue-Id: D3AA9C0009 X-Rspamd-Server: rspam11 X-HE-Tag: 1725921811-559051 X-HE-Meta: U2FsdGVkX1+RIWYLWV6n+dqIbyW0JsPCHg2Utx9COWuK5drO6XJne1ej8Hra3C9WWJZAjHT0IsKwfYqpbHv5Rkkufe5AruzH1XJPNj1siZrphhU9twZbDJnFpetOlGJrEBHm62WqPP1LFB6NH5MN7dFeKxGPVIm4rboyivFlBE0TB6xqgjZWry3CXG1+4fKGMw7z0FWs/lnKHO9dtML+binyncMBx4lCHs0C9WCvuGgLieyCBQGR8nvqXba2j7/CcWhAZIWE9n3LZWSY1UvWH88uDx7Hl/hP2ZDkOEfr0ugTDSsIc89mmipy8JGXNInUCzXpwlWC+XL1Pg6hoJzcCw/hNn7fw0oIIHS0NxBQj+WgIH3n+X3agZe1vuj2jZ+vRh14XAKuNxjOgtgEdbwtbY5lSnzjmaeEhbfmoSLs2GuRT9HyvJTPF2yX501+aQmio0U5w0xfCZ/f/ro0hP0mjPb01F0BR1goMM1qLcAyb0h53w1nOCSuJPQPOHJRORwW3xmmsyNRNV+EFVsaox63Lg0VzhksTJGhfiywP8ePUEmyrOFB5IEoasRV9/wappZ2OfHUodhqGOYwcOJ39RwO3NGmlaNcpofBcR1vUYgoXpjek9R62TKTL4y2GGzLGmMRp+lS5hNijmiGveTTQ8gyMfpfu+SzVvww/sKbeA6uqvk+tMPXuw4dw4c25w5gMWl1/FEXenFoCU2oZ1tmUYLw/JardSwUV1W9Hx8uFGp9ZTu6ZDUrJUxrzDBfsZ7diJfH7wtbjijTjlZ1UKgcARcP5+UIETCrDPzAv2nLwjmrOTyrcfgDyVFMyrvsm/iDgoFZBANUn8uAV7PGZk3vLiJMIo930Pi/g7G/xCjXqS4KRkstlm8xEq/VMN8bHhKNprW/Xn8+ncPGxy+t8BB6S41zZnCLTx0DKrekdtg9YxTDhhwXs7G50muQOJs+Dg0QA8rm4PQq1NQUiw9G8gfCpzk HjC/XJ86 qYwkqPEf8fezvY7y+gzYI+jP4E28wu7WohSBpDj1Xj2ew0vOeTfCMeaAkY8AKDdjrKPMcnRmtBa8HcBS62tqvRerqsR9eWCbcsexuBQYpZ6kGv1aWScRJ60Vjo4e2Owd2XMe5KK+24kao48VelpyYMoroW2BXd+jni8Nq2zSkKT35G9I9tChyokatbLKVma4SBU+M2LtxZ27n1lygUw9+1Os8n34XJKKWVKDzvoDTA0qbOu7KjuaAbaeOTCeULOEbp2XZCjnElSi8bHA5SlVlha9JsGb8ihOjRgaXZgnCk80VgIf0u4aUkG5u1k/Trea0QL+NRnR4queEblcY6DAQxgVO61VDclkg2KiyMKbhizuwQTBVNDYy9RdmUPC+jCou+xa799vdd8yTSaxZqGiXzGdNtw== 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 Mon, Sep 09, 2024 at 03:25:46PM -0700, Andrew Morton wrote: > On Tue, 3 Sep 2024 17:23:38 -0400 Peter Xu wrote: > > > > > @@ -1686,8 +1706,11 @@ int copy_huge_pud(struct mm_struct *dst_mm, struct mm_struct *src_mm, > > > > * TODO: once we support anonymous pages, use > > > > * folio_try_dup_anon_rmap_*() and split if duplicating fails. > > > > */ > > > > - pudp_set_wrprotect(src_mm, addr, src_pud); > > > > - pud = pud_mkold(pud_wrprotect(pud)); > > > > + if (is_cow_mapping(vma->vm_flags) && pud_write(pud)) { > > > > + pudp_set_wrprotect(src_mm, addr, src_pud); > > > > + pud = pud_wrprotect(pud); > > > > + } > > > Do we need the logic to clear dirty bit in the child as that in > > > __copy_present_ptes()? (and also for the pmd's case). > > > > > > e.g. > > > if (vma->vm_flags & VM_SHARED) > > > pud = pud_mkclean(pud); > > > > Yeah, good question. I remember I thought about that when initially > > working on these lines, but I forgot the details, or maybe I simply tried > > to stick with the current code base, as the dirty bit used to be kept even > > in the child here. > > > > I'd expect there's only performance differences, but still sounds like I'd > > better leave that to whoever knows the best on the implications, then draft > > it as a separate patch but only when needed. > > Sorry, but this vaguensss simply leaves me with nowhere to go. > > I'll drop the series - let's revisit after -rc1 please. Andrew, would you please explain why it needs to be dropped? I meant in the reply that I think we should leave that as is, and I think so far nobody in real life should care much on this bit, so I think it's fine to leave the dirty bit as-is. I still think whoever has a better use of the dirty bit and would like to change the behavior should find the use case and work on top, but only if necessary. At least this whole fork() path is not useful at all for the use case we're working on. Please still consider having this series as I think it's useful. Thanks, -- Peter Xu