All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Upton <oliver.upton@linux.dev>
To: Yu Zhao <yuzhao@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alistair Popple <apopple@nvidia.com>,
	Anup Patel <anup@brainfault.org>, Ben Gardon <bgardon@google.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Fabiano Rosas <farosas@linux.ibm.com>,
	Gaosheng Cui <cuigaosheng1@huawei.com>,
	Gavin Shan <gshan@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>, James Morse <james.morse@arm.com>,
	"Jason A. Donenfeld" <Jason@zx2c4.com>,
	Jason Gunthorpe <jgg@ziepe.ca>, Jonathan Corbet <corbet@lwn.net>,
	Marc Zyngier <maz@kernel.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michael Larabel <michael@michaellarabel.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Paul Mackerras <paulus@ozlabs.org>, Peter Xu <peterx@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Thomas Huth <thuth@redhat.com>, Will Deacon <will@kernel.org>,
	Zenghui Yu <yuzenghui@huawei.com>,
	kvmarm@lists.linux.dev, kvm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-trace-kernel@vger.kernel.org, x86@kernel.org,
	linux-mm@google.com
Subject: Re: [PATCH mm-unstable v2 04/10] kvm/arm64: make stage2 page tables RCU safe
Date: Wed, 31 May 2023 19:28:17 +0000	[thread overview]
Message-ID: <ZHef0VsZvZ1Vnz0u@linux.dev> (raw)
In-Reply-To: <CAOUHufZOkBmZJgCU2xW2B8S3P3TWERHezy0xKWY9_TeyV9K7Rg@mail.gmail.com>

On Tue, May 30, 2023 at 02:06:55PM -0600, Yu Zhao wrote:
> On Tue, May 30, 2023 at 1:37 PM Oliver Upton <oliver.upton@linux.dev> wrote:
> >
> > Hi Yu,
> >
> > On Sat, May 27, 2023 at 02:13:07PM -0600, Yu Zhao wrote:
> > > On Sat, May 27, 2023 at 12:08 PM Oliver Upton <oliver.upton@linux.dev> wrote:
> > > > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> > > > index 3d61bd3e591d..bfbebdcb4ef0 100644
> > > > --- a/arch/arm64/kvm/hyp/pgtable.c
> > > > +++ b/arch/arm64/kvm/hyp/pgtable.c
> > > > @@ -1019,7 +1019,7 @@ static int stage2_unmap_walker(const struct kvm_pgtable_visit_ctx *ctx,
> > > >                                                kvm_granule_size(ctx->level));
> > > >
> > > >         if (childp)
> > > > -               mm_ops->put_page(childp);
> > > > +               mm_ops->free_removed_table(childp, ctx->level);
> > >
> > > Thanks, Oliver.
> > >
> > > A couple of things I haven't had the chance to verify -- I'm hoping
> > > you could help clarify:
> > > 1. For unmapping, with free_removed_table(), wouldn't we have to look
> > > into the table we know it's empty unnecessarily?
> >
> > As it is currently implemented, yes. But, there's potential to fast-path
> > the implementation by checking page_count() before starting the walk.
> 
> Do you mind posting another patch? I'd be happy to ack it, as well as
> the one you suggested above.

I'd rather not take such a patch independent of the test_clear_young
series if you're OK with that. Do you mind implementing something
similar to the above patch w/ the proposed optimization if you need it?

-- 
Thanks,
Oliver

  reply	other threads:[~2023-05-31 19:28 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-26 23:44 [PATCH mm-unstable v2 00/10] mm/kvm: locklessly clear the accessed bit Yu Zhao
2023-05-26 23:44 ` Yu Zhao
2023-05-26 23:44 ` Yu Zhao
2023-05-26 23:44 ` [PATCH mm-unstable v2 01/10] mm/kvm: add mmu_notifier_ops->test_clear_young() Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-31 19:17   ` Jason Gunthorpe
2023-06-09  9:04     ` Paolo Bonzini
2023-06-09  9:04       ` Paolo Bonzini
2023-06-09  9:04       ` Paolo Bonzini
2023-06-06  8:34   ` Tzung-Bi Shih
2023-06-06  8:34     ` Tzung-Bi Shih
2023-06-06  8:34     ` Tzung-Bi Shih
2023-06-09  1:00     ` Yu Zhao
2023-06-09  1:00       ` Yu Zhao
2023-06-09  1:00       ` Yu Zhao
2023-06-15 17:42   ` Sean Christopherson
2023-06-15 17:42     ` Sean Christopherson
2023-06-15 17:42     ` Sean Christopherson
2023-06-20  7:30   ` Nicholas Piggin
2023-06-20  7:30     ` Nicholas Piggin
2023-06-20  7:30     ` Nicholas Piggin
2023-05-26 23:44 ` [PATCH mm-unstable v2 02/10] mm/kvm: use mmu_notifier_ops->test_clear_young() Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-31 19:20   ` Jason Gunthorpe
2023-05-26 23:44 ` [PATCH mm-unstable v2 03/10] kvm/arm64: export stage2_try_set_pte() and macros Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44 ` [PATCH mm-unstable v2 04/10] kvm/arm64: make stage2 page tables RCU safe Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-27 18:08   ` Oliver Upton
2023-05-27 18:08     ` Oliver Upton
2023-05-27 18:08     ` Oliver Upton
2023-05-27 20:13     ` Yu Zhao
2023-05-27 20:13       ` Yu Zhao
2023-05-27 20:13       ` Yu Zhao
2023-05-30 19:37       ` Oliver Upton
2023-05-30 19:37         ` Oliver Upton
2023-05-30 19:37         ` Oliver Upton
2023-05-30 20:06         ` Yu Zhao
2023-05-30 20:06           ` Yu Zhao
2023-05-30 20:06           ` Yu Zhao
2023-05-31 19:28           ` Oliver Upton [this message]
2023-05-31 23:10             ` Yu Zhao
2023-05-31 23:10               ` Yu Zhao
2023-05-31 23:10               ` Yu Zhao
2023-05-31 23:22               ` Oliver Upton
2023-05-31 23:22                 ` Oliver Upton
2023-05-31 23:22                 ` Oliver Upton
2023-05-31 23:41                 ` Yu Zhao
2023-05-31 23:41                   ` Yu Zhao
2023-05-31 23:41                   ` Yu Zhao
2023-05-26 23:44 ` [PATCH mm-unstable v2 05/10] kvm/arm64: add kvm_arch_test_clear_young() Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-31 19:56   ` Oliver Upton
2023-05-31 21:12     ` Yu Zhao
2023-05-31 21:12       ` Yu Zhao
2023-05-31 21:12       ` Yu Zhao
2023-05-26 23:44 ` [PATCH mm-unstable v2 06/10] kvm/powerpc: make radix page tables RCU safe Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-06-20  6:32   ` Nicholas Piggin
2023-06-20  6:32     ` Nicholas Piggin
2023-06-20  6:32     ` Nicholas Piggin
2023-06-20  8:00     ` Yu Zhao
2023-06-20  8:00       ` Yu Zhao
2023-06-20  8:00       ` Yu Zhao
2023-06-20 10:49       ` Nicholas Piggin
2023-06-20 10:49         ` Nicholas Piggin
2023-06-20 10:49         ` Nicholas Piggin
2023-05-26 23:44 ` [PATCH mm-unstable v2 07/10] kvm/powerpc: add kvm_arch_test_clear_young() Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-06-20  7:47   ` Nicholas Piggin
2023-06-20  7:47     ` Nicholas Piggin
2023-06-20  7:47     ` Nicholas Piggin
2023-06-21  0:38     ` Yu Zhao
2023-06-21  0:38       ` Yu Zhao
2023-06-21  0:38       ` Yu Zhao
2023-06-21  2:51       ` Nicholas Piggin
2023-06-21  2:51         ` Nicholas Piggin
2023-06-21  2:51         ` Nicholas Piggin
2023-05-26 23:44 ` [PATCH mm-unstable v2 08/10] kvm/x86: move tdp_mmu_enabled and shadow_accessed_mask Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-06-15 16:59   ` Sean Christopherson
2023-06-15 16:59     ` Sean Christopherson
2023-06-15 16:59     ` Sean Christopherson
2023-05-26 23:44 ` [PATCH mm-unstable v2 09/10] kvm/x86: add kvm_arch_test_clear_young() Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-06-09  9:06   ` Paolo Bonzini
2023-06-09  9:06     ` Paolo Bonzini
2023-06-09  9:06     ` Paolo Bonzini
2023-06-15 18:26   ` Sean Christopherson
2023-06-15 18:26     ` Sean Christopherson
2023-06-15 18:26     ` Sean Christopherson
2023-05-26 23:44 ` [PATCH mm-unstable v2 10/10] mm: multi-gen LRU: use mmu_notifier_test_clear_young() Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-05-26 23:44   ` Yu Zhao
2023-06-09  0:59 ` kvm/arm64: Spark benchmark Yu Zhao
2023-06-09  0:59   ` Yu Zhao
2023-06-09  0:59   ` Yu Zhao
2023-06-09 13:04   ` Marc Zyngier
2023-06-09 13:04     ` Marc Zyngier
2023-06-09 13:04     ` Marc Zyngier
2023-06-18 20:11     ` Yu Zhao
2023-06-18 20:11       ` Yu Zhao
2023-06-18 20:11       ` Yu Zhao
2023-06-09  0:59 ` kvm/powerpc: memcached benchmark Yu Zhao
2023-06-09  0:59   ` Yu Zhao
2023-06-09  0:59   ` Yu Zhao
2023-06-09  0:59 ` kvm/x86: multichase benchmark Yu Zhao
2023-06-09  0:59   ` Yu Zhao
2023-06-09  0:59   ` Yu Zhao
2023-06-18 19:19   ` Yu Zhao
2023-06-18 19:19     ` Yu Zhao
2023-06-18 19:19     ` Yu Zhao
2023-06-09  9:07 ` [PATCH mm-unstable v2 00/10] mm/kvm: locklessly clear the accessed bit Paolo Bonzini
2023-06-09  9:07   ` Paolo Bonzini
2023-06-09  9:07   ` Paolo Bonzini
2023-06-20  2:19   ` Yu Zhao
2023-06-20  2:19     ` Yu Zhao
2023-06-20  2:19     ` Yu Zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZHef0VsZvZ1Vnz0u@linux.dev \
    --to=oliver.upton@linux.dev \
    --cc=Jason@zx2c4.com \
    --cc=akpm@linux-foundation.org \
    --cc=anup@brainfault.org \
    --cc=apopple@nvidia.com \
    --cc=bgardon@google.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=corbet@lwn.net \
    --cc=cuigaosheng1@huawei.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=farosas@linux.ibm.com \
    --cc=gshan@redhat.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jgg@ziepe.ca \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@google.com \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maz@kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=michael@michaellarabel.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=paulus@ozlabs.org \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=seanjc@google.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tglx@linutronix.de \
    --cc=thuth@redhat.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=yuzenghui@huawei.com \
    --cc=yuzhao@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.