Re: [PATCH v3 2/3] KVM: arm64: Introduce KVM_PGTABLE_WALK_SKIP_LEVEL* walk flags

From: Wei-Lin Chang

Date: Tue Jul 14 2026 - 01:41:33 EST


On Mon, Jul 13, 2026 at 11:14:32AM +0100, Leonardo Bras wrote:
> On Sat, Jul 11, 2026 at 06:53:28AM +0100, Wei-Lin Chang wrote:
> > Hi Leonardo,
>
> Hi Wei-Lin, thanks for reviewing!
>
> >
> > On Wed, Jul 08, 2026 at 02:40:58PM +0100, Leonardo Bras wrote:
> > > Add the new walking flags that tell kvm_pgtable_walk() to skip lower levels
> > > when walking the pagetables.
> > >
> > > Signed-off-by: Leonardo Bras <leo.bras@xxxxxxx>
> > > ---
> > > arch/arm64/include/asm/kvm_pgtable.h | 13 +++++++++++++
> > > arch/arm64/kvm/hyp/pgtable.c | 19 ++++++++++++++++---
> > > 2 files changed, 29 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h
> > > index 41a8687938eb..20c7c12e0e76 100644
> > > --- a/arch/arm64/include/asm/kvm_pgtable.h
> > > +++ b/arch/arm64/include/asm/kvm_pgtable.h
> > > @@ -311,31 +311,44 @@ typedef bool (*kvm_pgtable_force_pte_cb_t)(u64 addr, u64 end,
> > > * @KVM_PGTABLE_WALK_SHARED: Indicates the page-tables may be shared
> > > * with other software walkers.
> > > * @KVM_PGTABLE_WALK_IGNORE_EAGAIN: Don't terminate the walk early if
> > > * the walker returns -EAGAIN.
> > > * @KVM_PGTABLE_WALK_SKIP_BBM_TLBI: Visit and update table entries
> > > * without Break-before-make's
> > > * TLB invalidation.
> > > * @KVM_PGTABLE_WALK_SKIP_CMO: Visit and update table entries
> > > * without Cache maintenance
> > > * operations required.
> > > + * @KVM_PGTABLE_WALK_SKIP_LEVEL0: Skip visiting level-0+ entries
> > > + * @KVM_PGTABLE_WALK_SKIP_LEVEL1: Skip visiting level-1+ entries
> > > + * @KVM_PGTABLE_WALK_SKIP_LEVEL2: Skip visiting level-2+ entries
> > > + * @KVM_PGTABLE_WALK_SKIP_LEVEL3: Skip visiting level-3 entries
> >
> > Just a drive-by nit:
> > Maybe avoid the level-$LEVEL terminology? Since as you said there is
> > level -1 in the architecture, in that case you'd have to write
> > "level--1" which is awkward :)
>
> It would have to be something like level-(-1), or we could call it level+1,
> LOL.

Good one! :)

>
> Seriously though, yes it's bad.
> I could call it level_1 entries, but level_-1 also seems weird :(
> level(1) & level(-1) could work, but looks like a function now
>
> maybe just saying 'level 1' and 'level -1' can be better.

Yeah, I generally also just go with the space when it's text.
For code/variables, I guess a direct concatenation like what's done here
for the enum is good.

Thanks,
Wei-Lin Chang

>
> What do you think?
>
> Thanks!
> Leo
>
>