From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 118D18489 for ; Tue, 20 Jun 2023 10:50:14 +0000 (UTC) Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-1b5452b77b4so26951615ad.3 for ; Tue, 20 Jun 2023 03:50:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687258214; x=1689850214; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7951XL+AGyfPDPVBcyQBGj0fPAuFilMzcMu5/OoYt74=; b=fnS8a/4VYBS/vSvyHGdyP24ps8Kq8sr63Wr4Cn+CKBIdCwmniMmjJQIShB7fHbhPok 4Tz8DOApK/lZNktEbFb0CTD55Axu4zROPjHAYc6+zmDoDqX+AqohriDpOOaQN3d3t6YO WubwljD9DnaVkMpJ+ANgkaj8164ZY2AQrv3cSKs4osSMUdtI8cdJt59XQ6OQPKBDN4BA HGG2Pm6f8Vl5/IatHvIGVKuiGYw4tRpj875PHbwE+48tkD2gtAT0If5GHBzB/ngA9yVU rfO//WK2++e6S9Hf+ak9ebcfkvZQo9JogK4XbUn/3EtRLurzh5eH86GEuU3AVAYEbRDN BmUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687258214; x=1689850214; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7951XL+AGyfPDPVBcyQBGj0fPAuFilMzcMu5/OoYt74=; b=NIDyjBN9gPJmy7uQZCfKl8z3atiok2eYurOxeLJTSVMmq67zYFsdxMISm5Ho9FwyrK 52cGBdVa2DNugTcDykzGWX7pY4OnrtAPLV2q49QpO72OF3+Hqu+4HmyaN/WN2ycmyYQA P1GnKg/hcgjBmthLAeT0pTSwZA3H9RO1bn8N5QHCtIFs7l8XcqylVUbFnJGJJBI8awD3 wLphTlBSnRBDf6mARLtCIwsdlFxIrsLWTOxzc2SXWgF9mU9GbNuo3QznrgT2iQd0HIoa EHg5P2XzsTLBt5g0zgsH5Y1WEC8C1+fO3XbNxh0XOATbJnFvWE3Sx8rbBS16f4BlR0+q srJw== X-Gm-Message-State: AC+VfDxU0ChOsVi9St1iqgv0hDYZZaZ3x+IBj5zyBqDwNt9SPH6MUim1 vcT/yjIcF3qX7466/Gl2/Tw= X-Google-Smtp-Source: ACHHUZ7CSMfgUHDwU9KLFxwcxS1szXOVyovRvhTVEH1gWS7z37bysU3PrZvvl2rPP84okj3F8GtMVA== X-Received: by 2002:a17:902:6b8b:b0:1b2:1a79:147d with SMTP id p11-20020a1709026b8b00b001b21a79147dmr10591794plk.2.1687258214282; Tue, 20 Jun 2023 03:50:14 -0700 (PDT) Received: from localhost ([124.170.190.103]) by smtp.gmail.com with ESMTPSA id p2-20020a170902e74200b001b3c892c367sm1368654plf.63.2023.06.20.03.49.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Jun 2023 03:50:13 -0700 (PDT) Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 20 Jun 2023 20:49:56 +1000 Message-Id: Cc: "Andrew Morton" , "Paolo Bonzini" , "Alistair Popple" , "Anup Patel" , "Ben Gardon" , "Borislav Petkov" , "Catalin Marinas" , "Chao Peng" , "Christophe Leroy" , "Dave Hansen" , "Fabiano Rosas" , "Gaosheng Cui" , "Gavin Shan" , "H. Peter Anvin" , "Ingo Molnar" , "James Morse" , "Jason A. Donenfeld" , "Jason Gunthorpe" , "Jonathan Corbet" , "Marc Zyngier" , "Masami Hiramatsu" , "Michael Ellerman" , "Michael Larabel" , "Mike Rapoport" , "Oliver Upton" , "Paul Mackerras" , "Peter Xu" , "Sean Christopherson" , "Steven Rostedt" , "Suzuki K Poulose" , "Thomas Gleixner" , "Thomas Huth" , "Will Deacon" , "Zenghui Yu" , , , , , , , , , , Subject: Re: [PATCH mm-unstable v2 06/10] kvm/powerpc: make radix page tables RCU safe From: "Nicholas Piggin" To: "Yu Zhao" X-Mailer: aerc 0.14.0 References: <20230526234435.662652-1-yuzhao@google.com> <20230526234435.662652-7-yuzhao@google.com> In-Reply-To: On Tue Jun 20, 2023 at 6:00 PM AEST, Yu Zhao wrote: > On Tue, Jun 20, 2023 at 12:33=E2=80=AFAM Nicholas Piggin wrote: > > > > On Sat May 27, 2023 at 9:44 AM AEST, Yu Zhao wrote: > > > KVM page tables are currently not RCU safe against remapping, i.e., > > > kvmppc_unmap_free_pmd_entry_table() et al. The previous > > > > Minor nit but the "page table" is not RCU-safe against something. It > > is RCU-freed, and therefore some algorithm that accesses it can have > > the existence guarantee provided by RCU (usually there still needs > > to be more to it). > > > > > mmu_notifier_ops members rely on kvm->mmu_lock to synchronize with > > > that operation. > > > > > > However, the new mmu_notifier_ops member test_clear_young() provides > > > a fast path that does not take kvm->mmu_lock. To implement > > > kvm_arch_test_clear_young() for that path, orphan page tables need to > > > be freed by RCU. > > > > Short version: clear the referenced bit using RCU instead of MMU lock > > to protect against page table freeing, and there is no problem with > > clearing the bit in a table that has been freed. > > > > Seems reasonable. > > Thanks. All above points taken. > > > > Unmapping, specifically kvm_unmap_radix(), does not free page tables, > > > hence not a concern. > > > > Not sure if you really need to make the distinction about why the page > > table is freed, we might free them via unmapping. The point is just > > anything that frees them while there can be concurrent access, right? > > Correct. > > > > Signed-off-by: Yu Zhao > > > --- > > > arch/powerpc/kvm/book3s_64_mmu_radix.c | 6 ++++-- > > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kv= m/book3s_64_mmu_radix.c > > > index 461307b89c3a..3b65b3b11041 100644 > > > --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c > > > +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c > > > @@ -1469,13 +1469,15 @@ int kvmppc_radix_init(void) > > > { > > > unsigned long size =3D sizeof(void *) << RADIX_PTE_INDEX_SIZE; > > > > > > - kvm_pte_cache =3D kmem_cache_create("kvm-pte", size, size, 0, p= te_ctor); > > > + kvm_pte_cache =3D kmem_cache_create("kvm-pte", size, size, > > > + SLAB_TYPESAFE_BY_RCU, pte_cto= r); > > > if (!kvm_pte_cache) > > > return -ENOMEM; > > > > > > size =3D sizeof(void *) << RADIX_PMD_INDEX_SIZE; > > > > > > - kvm_pmd_cache =3D kmem_cache_create("kvm-pmd", size, size, 0, p= md_ctor); > > > + kvm_pmd_cache =3D kmem_cache_create("kvm-pmd", size, size, > > > + SLAB_TYPESAFE_BY_RCU, pmd_cto= r); > > > if (!kvm_pmd_cache) { > > > kmem_cache_destroy(kvm_pte_cache); > > > return -ENOMEM; > > > > KVM PPC HV radix PUD level page tables use the arch/powerpc allocators > > (for some reason), which are not RCU freed. I think you need them too? > > We don't. The use of the arch/powerpc allocator for PUD tables seems > appropriate to me because, unlike PMD/PTE tables, we never free PUD > tables during the lifetime of a VM: Ah you're right, the pud_free only comes from the double alloc case so it's never visible to concurrent threads. > * We don't free PUD/PMD/PTE tables when they become empty, i.e., not > mapping any pages but still attached. (We could in theory, as > x86/aarch64 do.) We may try to do that at some point, but that's not related to your patch for now so no worries. Thanks, Nick 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C3CA9EB64D7 for ; Tue, 20 Jun 2023 10:51:18 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=fnS8a/4V; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Qlk2Y0h0qz30gR for ; Tue, 20 Jun 2023 20:51:17 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=fnS8a/4V; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::636; helo=mail-pl1-x636.google.com; envelope-from=npiggin@gmail.com; receiver=lists.ozlabs.org) Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Qlk1S1dzyz2yyX for ; Tue, 20 Jun 2023 20:50:18 +1000 (AEST) Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1b5452b77b4so26951585ad.3 for ; Tue, 20 Jun 2023 03:50:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687258214; x=1689850214; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7951XL+AGyfPDPVBcyQBGj0fPAuFilMzcMu5/OoYt74=; b=fnS8a/4VYBS/vSvyHGdyP24ps8Kq8sr63Wr4Cn+CKBIdCwmniMmjJQIShB7fHbhPok 4Tz8DOApK/lZNktEbFb0CTD55Axu4zROPjHAYc6+zmDoDqX+AqohriDpOOaQN3d3t6YO WubwljD9DnaVkMpJ+ANgkaj8164ZY2AQrv3cSKs4osSMUdtI8cdJt59XQ6OQPKBDN4BA HGG2Pm6f8Vl5/IatHvIGVKuiGYw4tRpj875PHbwE+48tkD2gtAT0If5GHBzB/ngA9yVU rfO//WK2++e6S9Hf+ak9ebcfkvZQo9JogK4XbUn/3EtRLurzh5eH86GEuU3AVAYEbRDN BmUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687258214; x=1689850214; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7951XL+AGyfPDPVBcyQBGj0fPAuFilMzcMu5/OoYt74=; b=D7+/9PCJvqKzbS8TR3PrCLaBGVsgpXyOrBigDp3K8k2Zkb3V3MKNezV4CY8+N1yMIC +F0/Zakt5s5BNpYyzs/fmxJJ+B9SynDN68gH7bjh08KSU4VEFFBAHEr5ym+XDvnU5d4f IcFEd/244I/PGB1mI4uRG75yILpHZd0mkCpRBkNoCYWxWCq4govZkUv8xE2qfOCF8wH0 AZBiqHDZ/lN9jshJqiofg7oySRoWtxJMPYrPpp5vJjUkj11gnvUitjAN4qsMyJEcFEJR REFu9lBmrVJxXVIdG4G141kVG8xm9o6SsEr5Ufiy8hNSG6AyBvlUvaEGkH7eqWEbfjA4 LgWg== X-Gm-Message-State: AC+VfDwEbLYtgX3mLIEws8mGiPWTH1KkSWIBKM1uTXEzZmVwkhsI7boE MMxIRXwJhVD4t7q1WA5YDhM= X-Google-Smtp-Source: ACHHUZ7CSMfgUHDwU9KLFxwcxS1szXOVyovRvhTVEH1gWS7z37bysU3PrZvvl2rPP84okj3F8GtMVA== X-Received: by 2002:a17:902:6b8b:b0:1b2:1a79:147d with SMTP id p11-20020a1709026b8b00b001b21a79147dmr10591794plk.2.1687258214282; Tue, 20 Jun 2023 03:50:14 -0700 (PDT) Received: from localhost ([124.170.190.103]) by smtp.gmail.com with ESMTPSA id p2-20020a170902e74200b001b3c892c367sm1368654plf.63.2023.06.20.03.49.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Jun 2023 03:50:13 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 20 Jun 2023 20:49:56 +1000 Message-Id: Subject: Re: [PATCH mm-unstable v2 06/10] kvm/powerpc: make radix page tables RCU safe From: "Nicholas Piggin" To: "Yu Zhao" X-Mailer: aerc 0.14.0 References: <20230526234435.662652-1-yuzhao@google.com> <20230526234435.662652-7-yuzhao@google.com> In-Reply-To: X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Jason A. Donenfeld" , x86@kernel.org, Gavin Shan , kvm@vger.kernel.org, linux-doc@vger.kernel.org, Catalin Marinas , Dave Hansen , Peter Xu , linux-mm@kvack.org, Ben Gardon , Chao Peng , Will Deacon , Gaosheng Cui , Marc Zyngier , "H. Peter Anvin" , Jonathan Corbet , Alistair Popple , Jason Gunthorpe , Ingo Molnar , Zenghui Yu , linux-trace-kernel@vger.kernel.org, linux-mm@google.com, Thomas Huth , Suzuki K Poulose , Steven Rostedt , Borislav Petkov , kvmarm@lists.linux.dev, Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Fabiano Rosas , Michael Larabel , Sean Christopherson , linux-kernel@vger.kernel.org, Oliver Upton , James Morse , Masami Hiramatsu , Anup Patel , Paolo Bonzini , Andrew Morton , linuxppc-dev@lists.ozlabs.org, Mike Rapoport Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Tue Jun 20, 2023 at 6:00 PM AEST, Yu Zhao wrote: > On Tue, Jun 20, 2023 at 12:33=E2=80=AFAM Nicholas Piggin wrote: > > > > On Sat May 27, 2023 at 9:44 AM AEST, Yu Zhao wrote: > > > KVM page tables are currently not RCU safe against remapping, i.e., > > > kvmppc_unmap_free_pmd_entry_table() et al. The previous > > > > Minor nit but the "page table" is not RCU-safe against something. It > > is RCU-freed, and therefore some algorithm that accesses it can have > > the existence guarantee provided by RCU (usually there still needs > > to be more to it). > > > > > mmu_notifier_ops members rely on kvm->mmu_lock to synchronize with > > > that operation. > > > > > > However, the new mmu_notifier_ops member test_clear_young() provides > > > a fast path that does not take kvm->mmu_lock. To implement > > > kvm_arch_test_clear_young() for that path, orphan page tables need to > > > be freed by RCU. > > > > Short version: clear the referenced bit using RCU instead of MMU lock > > to protect against page table freeing, and there is no problem with > > clearing the bit in a table that has been freed. > > > > Seems reasonable. > > Thanks. All above points taken. > > > > Unmapping, specifically kvm_unmap_radix(), does not free page tables, > > > hence not a concern. > > > > Not sure if you really need to make the distinction about why the page > > table is freed, we might free them via unmapping. The point is just > > anything that frees them while there can be concurrent access, right? > > Correct. > > > > Signed-off-by: Yu Zhao > > > --- > > > arch/powerpc/kvm/book3s_64_mmu_radix.c | 6 ++++-- > > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kv= m/book3s_64_mmu_radix.c > > > index 461307b89c3a..3b65b3b11041 100644 > > > --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c > > > +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c > > > @@ -1469,13 +1469,15 @@ int kvmppc_radix_init(void) > > > { > > > unsigned long size =3D sizeof(void *) << RADIX_PTE_INDEX_SIZE; > > > > > > - kvm_pte_cache =3D kmem_cache_create("kvm-pte", size, size, 0, p= te_ctor); > > > + kvm_pte_cache =3D kmem_cache_create("kvm-pte", size, size, > > > + SLAB_TYPESAFE_BY_RCU, pte_cto= r); > > > if (!kvm_pte_cache) > > > return -ENOMEM; > > > > > > size =3D sizeof(void *) << RADIX_PMD_INDEX_SIZE; > > > > > > - kvm_pmd_cache =3D kmem_cache_create("kvm-pmd", size, size, 0, p= md_ctor); > > > + kvm_pmd_cache =3D kmem_cache_create("kvm-pmd", size, size, > > > + SLAB_TYPESAFE_BY_RCU, pmd_cto= r); > > > if (!kvm_pmd_cache) { > > > kmem_cache_destroy(kvm_pte_cache); > > > return -ENOMEM; > > > > KVM PPC HV radix PUD level page tables use the arch/powerpc allocators > > (for some reason), which are not RCU freed. I think you need them too? > > We don't. The use of the arch/powerpc allocator for PUD tables seems > appropriate to me because, unlike PMD/PTE tables, we never free PUD > tables during the lifetime of a VM: Ah you're right, the pud_free only comes from the double alloc case so it's never visible to concurrent threads. > * We don't free PUD/PMD/PTE tables when they become empty, i.e., not > mapping any pages but still attached. (We could in theory, as > x86/aarch64 do.) We may try to do that at some point, but that's not related to your patch for now so no worries. Thanks, Nick 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 733A3EB64D7 for ; Tue, 20 Jun 2023 10:50:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:To:From:Subject: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KVhUW9EUpbw4Kz4DUe+pF4yonfDWLrhJVPNoxtMogVY=; b=nnGEZj/7zMDzLV 4X55Mir8Hty4upLxDhp/kNOiosm6KXIUiMt78B5Qj5nJ+Sui95Ce8328b4ea+nSSXNxcINzqUDF6C 67SVgVi3G2EbU/6/sFjF8s9HUVshxqGxV9JXGFY5hEoZOaTmPlRxOtG47PCR7t9nx7Ddhax2bITss snfRaRdxiVmssOK/+h1ZTAjPLqC4s8PpmlScOQKHWR8e5JS6GghqKMYEW/iocjBt1TQL0JgZ6xBoA 4YnGwh+V9EF9mLyczuMmDaR+CHTLF11OEk8gIgzoTRrF3xsoKiak/ZpDZ2riqbD6e1c3T5lkjLjb/ MF4G5jxxf/kt9/t1jsKw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qBYwE-00B2Yu-1y; Tue, 20 Jun 2023 10:50:18 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qBYwB-00B2Xj-0w for linux-arm-kernel@lists.infradead.org; Tue, 20 Jun 2023 10:50:16 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1b52bf6e669so36693125ad.2 for ; Tue, 20 Jun 2023 03:50:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687258214; x=1689850214; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7951XL+AGyfPDPVBcyQBGj0fPAuFilMzcMu5/OoYt74=; b=fnS8a/4VYBS/vSvyHGdyP24ps8Kq8sr63Wr4Cn+CKBIdCwmniMmjJQIShB7fHbhPok 4Tz8DOApK/lZNktEbFb0CTD55Axu4zROPjHAYc6+zmDoDqX+AqohriDpOOaQN3d3t6YO WubwljD9DnaVkMpJ+ANgkaj8164ZY2AQrv3cSKs4osSMUdtI8cdJt59XQ6OQPKBDN4BA HGG2Pm6f8Vl5/IatHvIGVKuiGYw4tRpj875PHbwE+48tkD2gtAT0If5GHBzB/ngA9yVU rfO//WK2++e6S9Hf+ak9ebcfkvZQo9JogK4XbUn/3EtRLurzh5eH86GEuU3AVAYEbRDN BmUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687258214; x=1689850214; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7951XL+AGyfPDPVBcyQBGj0fPAuFilMzcMu5/OoYt74=; b=T5nBgW8oVh7cwtDjOH5y+l312HSDFJ+30Wrk/OtVhXM1UvN/aTx5/1MDRYzVsbROcx /zuGkstil/jZ9D/ueofkT3q6K5InAvptuZ9yyAYldGe6zEL4KxJ5j8QMpR95iKE3UVhp WBLjIgWhpvKjwmIeK0JDcvxM/4vNHOHY9vQZXl3HnR0sc736oXRzYOaG1Ygl9awlcAn6 vRjgUj+tvmp4eFh2afNXbegxYzOC/l0JQR2k7ugG58ikwsgTB3BxKgnrKX5SBKpJgI7Q XSwRYifjTktdwNUW10fVntYY2wCfG+6pMLDCrzwAbu4WE5UhXMkwCnO3imqPHPG1s2yG Clzw== X-Gm-Message-State: AC+VfDxegC9HC9f1+AolqoQOpJBFjsW5NqMHNv0cuYy/VwU2Yj7UURli 4F5DSAPkyGAaDiYQAxkQAxU= X-Google-Smtp-Source: ACHHUZ7CSMfgUHDwU9KLFxwcxS1szXOVyovRvhTVEH1gWS7z37bysU3PrZvvl2rPP84okj3F8GtMVA== X-Received: by 2002:a17:902:6b8b:b0:1b2:1a79:147d with SMTP id p11-20020a1709026b8b00b001b21a79147dmr10591794plk.2.1687258214282; Tue, 20 Jun 2023 03:50:14 -0700 (PDT) Received: from localhost ([124.170.190.103]) by smtp.gmail.com with ESMTPSA id p2-20020a170902e74200b001b3c892c367sm1368654plf.63.2023.06.20.03.49.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Jun 2023 03:50:13 -0700 (PDT) Mime-Version: 1.0 Date: Tue, 20 Jun 2023 20:49:56 +1000 Message-Id: Cc: "Andrew Morton" , "Paolo Bonzini" , "Alistair Popple" , "Anup Patel" , "Ben Gardon" , "Borislav Petkov" , "Catalin Marinas" , "Chao Peng" , "Christophe Leroy" , "Dave Hansen" , "Fabiano Rosas" , "Gaosheng Cui" , "Gavin Shan" , "H. Peter Anvin" , "Ingo Molnar" , "James Morse" , "Jason A. Donenfeld" , "Jason Gunthorpe" , "Jonathan Corbet" , "Marc Zyngier" , "Masami Hiramatsu" , "Michael Ellerman" , "Michael Larabel" , "Mike Rapoport" , "Oliver Upton" , "Paul Mackerras" , "Peter Xu" , "Sean Christopherson" , "Steven Rostedt" , "Suzuki K Poulose" , "Thomas Gleixner" , "Thomas Huth" , "Will Deacon" , "Zenghui Yu" , , , , , , , , , , Subject: Re: [PATCH mm-unstable v2 06/10] kvm/powerpc: make radix page tables RCU safe From: "Nicholas Piggin" To: "Yu Zhao" X-Mailer: aerc 0.14.0 References: <20230526234435.662652-1-yuzhao@google.com> <20230526234435.662652-7-yuzhao@google.com> In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230620_035015_371639_BDCAF3CB X-CRM114-Status: GOOD ( 33.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlIEp1biAyMCwgMjAyMyBhdCA2OjAwIFBNIEFFU1QsIFl1IFpoYW8gd3JvdGU6Cj4gT24g VHVlLCBKdW4gMjAsIDIwMjMgYXQgMTI6MzPigK9BTSBOaWNob2xhcyBQaWdnaW4gPG5waWdnaW5A Z21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBTYXQgTWF5IDI3LCAyMDIzIGF0IDk6NDQgQU0g QUVTVCwgWXUgWmhhbyB3cm90ZToKPiA+ID4gS1ZNIHBhZ2UgdGFibGVzIGFyZSBjdXJyZW50bHkg bm90IFJDVSBzYWZlIGFnYWluc3QgcmVtYXBwaW5nLCBpLmUuLAo+ID4gPiBrdm1wcGNfdW5tYXBf ZnJlZV9wbWRfZW50cnlfdGFibGUoKSBldCBhbC4gVGhlIHByZXZpb3VzCj4gPgo+ID4gTWlub3Ig bml0IGJ1dCB0aGUgInBhZ2UgdGFibGUiIGlzIG5vdCBSQ1Utc2FmZSBhZ2FpbnN0IHNvbWV0aGlu Zy4gSXQKPiA+IGlzIFJDVS1mcmVlZCwgYW5kIHRoZXJlZm9yZSBzb21lIGFsZ29yaXRobSB0aGF0 IGFjY2Vzc2VzIGl0IGNhbiBoYXZlCj4gPiB0aGUgZXhpc3RlbmNlIGd1YXJhbnRlZSBwcm92aWRl ZCBieSBSQ1UgKHVzdWFsbHkgdGhlcmUgc3RpbGwgbmVlZHMKPiA+IHRvIGJlIG1vcmUgdG8gaXQp Lgo+ID4KPiA+ID4gbW11X25vdGlmaWVyX29wcyBtZW1iZXJzIHJlbHkgb24ga3ZtLT5tbXVfbG9j ayB0byBzeW5jaHJvbml6ZSB3aXRoCj4gPiA+IHRoYXQgb3BlcmF0aW9uLgo+ID4gPgo+ID4gPiBI b3dldmVyLCB0aGUgbmV3IG1tdV9ub3RpZmllcl9vcHMgbWVtYmVyIHRlc3RfY2xlYXJfeW91bmco KSBwcm92aWRlcwo+ID4gPiBhIGZhc3QgcGF0aCB0aGF0IGRvZXMgbm90IHRha2Uga3ZtLT5tbXVf bG9jay4gVG8gaW1wbGVtZW50Cj4gPiA+IGt2bV9hcmNoX3Rlc3RfY2xlYXJfeW91bmcoKSBmb3Ig dGhhdCBwYXRoLCBvcnBoYW4gcGFnZSB0YWJsZXMgbmVlZCB0bwo+ID4gPiBiZSBmcmVlZCBieSBS Q1UuCj4gPgo+ID4gU2hvcnQgdmVyc2lvbjogY2xlYXIgdGhlIHJlZmVyZW5jZWQgYml0IHVzaW5n IFJDVSBpbnN0ZWFkIG9mIE1NVSBsb2NrCj4gPiB0byBwcm90ZWN0IGFnYWluc3QgcGFnZSB0YWJs ZSBmcmVlaW5nLCBhbmQgdGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoCj4gPiBjbGVhcmluZyB0aGUg Yml0IGluIGEgdGFibGUgdGhhdCBoYXMgYmVlbiBmcmVlZC4KPiA+Cj4gPiBTZWVtcyByZWFzb25h YmxlLgo+Cj4gVGhhbmtzLiBBbGwgYWJvdmUgcG9pbnRzIHRha2VuLgo+Cj4gPiA+IFVubWFwcGlu Zywgc3BlY2lmaWNhbGx5IGt2bV91bm1hcF9yYWRpeCgpLCBkb2VzIG5vdCBmcmVlIHBhZ2UgdGFi bGVzLAo+ID4gPiBoZW5jZSBub3QgYSBjb25jZXJuLgo+ID4KPiA+IE5vdCBzdXJlIGlmIHlvdSBy ZWFsbHkgbmVlZCB0byBtYWtlIHRoZSBkaXN0aW5jdGlvbiBhYm91dCB3aHkgdGhlIHBhZ2UKPiA+ IHRhYmxlIGlzIGZyZWVkLCB3ZSBtaWdodCBmcmVlIHRoZW0gdmlhIHVubWFwcGluZy4gVGhlIHBv aW50IGlzIGp1c3QKPiA+IGFueXRoaW5nIHRoYXQgZnJlZXMgdGhlbSB3aGlsZSB0aGVyZSBjYW4g YmUgY29uY3VycmVudCBhY2Nlc3MsIHJpZ2h0Pwo+Cj4gQ29ycmVjdC4KPgo+ID4gPiBTaWduZWQt b2ZmLWJ5OiBZdSBaaGFvIDx5dXpoYW9AZ29vZ2xlLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBhcmNo L3Bvd2VycGMva3ZtL2Jvb2szc182NF9tbXVfcmFkaXguYyB8IDYgKysrKy0tCj4gPiA+ICAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gPgo+ID4gPiBk aWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRfbW11X3JhZGl4LmMgYi9hcmNo L3Bvd2VycGMva3ZtL2Jvb2szc182NF9tbXVfcmFkaXguYwo+ID4gPiBpbmRleCA0NjEzMDdiODlj M2EuLjNiNjViM2IxMTA0MSAxMDA2NDQKPiA+ID4gLS0tIGEvYXJjaC9wb3dlcnBjL2t2bS9ib29r M3NfNjRfbW11X3JhZGl4LmMKPiA+ID4gKysrIGIvYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfNjRf bW11X3JhZGl4LmMKPiA+ID4gQEAgLTE0NjksMTMgKzE0NjksMTUgQEAgaW50IGt2bXBwY19yYWRp eF9pbml0KHZvaWQpCj4gPiA+ICB7Cj4gPiA+ICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSA9IHNp emVvZih2b2lkICopIDw8IFJBRElYX1BURV9JTkRFWF9TSVpFOwo+ID4gPgo+ID4gPiAtICAgICBr dm1fcHRlX2NhY2hlID0ga21lbV9jYWNoZV9jcmVhdGUoImt2bS1wdGUiLCBzaXplLCBzaXplLCAw LCBwdGVfY3Rvcik7Cj4gPiA+ICsgICAgIGt2bV9wdGVfY2FjaGUgPSBrbWVtX2NhY2hlX2NyZWF0 ZSgia3ZtLXB0ZSIsIHNpemUsIHNpemUsCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTTEFCX1RZUEVTQUZFX0JZX1JDVSwgcHRlX2N0b3IpOwo+ID4gPiAgICAg ICBpZiAoIWt2bV9wdGVfY2FjaGUpCj4gPiA+ICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07 Cj4gPiA+Cj4gPiA+ICAgICAgIHNpemUgPSBzaXplb2Yodm9pZCAqKSA8PCBSQURJWF9QTURfSU5E RVhfU0laRTsKPiA+ID4KPiA+ID4gLSAgICAga3ZtX3BtZF9jYWNoZSA9IGttZW1fY2FjaGVfY3Jl YXRlKCJrdm0tcG1kIiwgc2l6ZSwgc2l6ZSwgMCwgcG1kX2N0b3IpOwo+ID4gPiArICAgICBrdm1f cG1kX2NhY2hlID0ga21lbV9jYWNoZV9jcmVhdGUoImt2bS1wbWQiLCBzaXplLCBzaXplLAo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0xBQl9UWVBFU0FGRV9C WV9SQ1UsIHBtZF9jdG9yKTsKPiA+ID4gICAgICAgaWYgKCFrdm1fcG1kX2NhY2hlKSB7Cj4gPiA+ ICAgICAgICAgICAgICAga21lbV9jYWNoZV9kZXN0cm95KGt2bV9wdGVfY2FjaGUpOwo+ID4gPiAg ICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4KPiA+IEtWTSBQUEMgSFYgcmFkaXggUFVE IGxldmVsIHBhZ2UgdGFibGVzIHVzZSB0aGUgYXJjaC9wb3dlcnBjIGFsbG9jYXRvcnMKPiA+IChm b3Igc29tZSByZWFzb24pLCB3aGljaCBhcmUgbm90IFJDVSBmcmVlZC4gSSB0aGluayB5b3UgbmVl ZCB0aGVtIHRvbz8KPgo+IFdlIGRvbid0LiBUaGUgdXNlIG9mIHRoZSBhcmNoL3Bvd2VycGMgYWxs b2NhdG9yIGZvciBQVUQgdGFibGVzIHNlZW1zCj4gYXBwcm9wcmlhdGUgdG8gbWUgYmVjYXVzZSwg dW5saWtlIFBNRC9QVEUgdGFibGVzLCB3ZSBuZXZlciBmcmVlIFBVRAo+IHRhYmxlcyBkdXJpbmcg dGhlIGxpZmV0aW1lIG9mIGEgVk06CgpBaCB5b3UncmUgcmlnaHQsIHRoZSBwdWRfZnJlZSBvbmx5 IGNvbWVzIGZyb20gdGhlIGRvdWJsZSBhbGxvYyBjYXNlCnNvIGl0J3MgbmV2ZXIgdmlzaWJsZSB0 byBjb25jdXJyZW50IHRocmVhZHMuCgo+ICogV2UgZG9uJ3QgZnJlZSBQVUQvUE1EL1BURSB0YWJs ZXMgd2hlbiB0aGV5IGJlY29tZSBlbXB0eSwgaS5lLiwgbm90Cj4gbWFwcGluZyBhbnkgcGFnZXMg YnV0IHN0aWxsIGF0dGFjaGVkLiAoV2UgY291bGQgaW4gdGhlb3J5LCBhcwo+IHg4Ni9hYXJjaDY0 IGRvLikKCldlIG1heSB0cnkgdG8gZG8gdGhhdCBhdCBzb21lIHBvaW50LCBidXQgdGhhdCdzIG5v dCByZWxhdGVkIHRvIHlvdXIKcGF0Y2ggZm9yIG5vdyBzbyBubyB3b3JyaWVzLgoKVGhhbmtzLApO aWNrCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==