[PATCH 1/3] arm64: KVM: Move CPU ID reg trap setup off the world switch path

Dave Martin Dave.Martin at arm.com
Tue Dec 5 04:31:51 PST 2017


On Tue, Dec 05, 2017 at 10:09:15AM +0100, Christoffer Dall wrote:
> On Fri, Dec 01, 2017 at 03:19:40PM +0000, Dave Martin wrote:
> > The HCR_EL2.TID3 flag needs to be set when trapping guest access to
> > the CPU ID registers is required.  However, the decision about
> > whether to set this bit does not need to be repeated at every
> > switch to the guest.
> > 
> > Instead, it's sufficient to make this decision once and record the
> > outcome.
> > 
> > This patch moves the decision to vcpu_reset_hcr() and records the
> > choice made in vcpu->arch.hcr_el2.  The world switch code can then
> > load this directly when switching to the guest without the need for
> > conditional logic on the critical path.
> > 
> > Signed-off-by: Dave Martin <Dave.Martin at arm.com>
> > Suggested-by: Christoffer Dall <christoffer.dall at linaro.org>
> > Cc: Marc Zyngier <marc.zyngier at arm.com>
> 
> Reviewed-by: Christoffer Dall <christoffer.dall at linaro.org>
> 
> > 
> > ---
> > 
> > Note to maintainers: this was discussed on-list [1] prior to the merge
> > window, but this patch implementing the agreed decision hasn't been
> > posted previously.
> > 
> > This should be considered a fix for v4.15.
> 
> It's actually easier for me to apply this for v4.16 and base my VHE
> optimization patches on it.

If you're happy for this optimisation to be missing for v4.15, I'm fine
with that.

Can I leave it you to pick this up then?

I'll repost the other stuff from this series separately for Will to
take care of.

Cheers
---Dave



More information about the linux-arm-kernel mailing list