Re: [PATCH v2 2/7] KVM: arm64: Add FEAT_TLBIRANGE support

From: Oliver Upton
Date: Tue Apr 04 2023 - 14:51:11 EST


On Tue, Apr 04, 2023 at 06:41:34PM +0000, Oliver Upton wrote:
> On Mon, Apr 03, 2023 at 10:26:01AM -0700, Raghavendra Rao Ananta wrote:
> > On Wed, Mar 29, 2023 at 6:19 PM Oliver Upton <oliver.upton@xxxxxxxxx> wrote:
> > > > + start = round_down(start, stride); \
> > > > + end = round_up(end, stride); \
> > > > + pages = (end - start) >> PAGE_SHIFT; \
> > > > + \
> > > > + if ((!system_supports_tlb_range() && \
> > > > + (end - start) >= (MAX_TLBI_OPS * stride)) || \
> > >
> > > Doesn't checking for TLBIRANGE above eliminate the need to test against
> > > MAX_TLBI_OPS?
> > >
> > Derived from __flush_tlb_range(), I think the condition is used to
> > just flush everything if the range is too large to iterate and flush
> > when the system doesn't support TLBIRANGE. Probably to prevent
> > soft-lockups?
>
> Right, but you test above for system_supports_tlb_range(), meaning that
> you'd unconditionally call __kvm_tlb_flush_vmid() below.

Gah, I misread the parenthesis and managed to miss your statement in the
changelog about !TLBIRANGE systems. Apologies.

--
Thanks,
Oliver