Re: [PATCHv2] perf kvm: add kvm-stat for arm64

From: Leo Yan
Date: Tue Sep 15 2020 - 20:39:05 EST


On Tue, Sep 15, 2020 at 08:15:41PM +0900, Sergey Senozhatsky wrote:
> On (20/09/15 19:57), Sergey Senozhatsky wrote:
> > On (20/09/15 18:36), Leo Yan wrote:
> > > > +#define HVC_STUB_ERR 0xbadca11
> > > > +
> > > > +/* Per asm/kvm_asm.h */
> > > > +#define ARM_EXCEPTION_IRQ 0
> > > > +#define ARM_EXCEPTION_EL1_SERROR 1
> > > > +#define ARM_EXCEPTION_TRAP 2
> > > > +#define ARM_EXCEPTION_IL 3
> > >
> > > Nitpick: from completeness, we also can give out KVM exiting reason
> > > for 'ARM_EXCEPTION_IL'.
> >
> > OK, let me take a look.
>
> I think ARM_EXCEPTION_IL are reported as HYP_GONE. According to
> arch/arm64/include/asm/kvm_asm.h
>
> ---
> #define ARM_EXCEPTION_IRQ 0
> #define ARM_EXCEPTION_EL1_SERROR 1
> #define ARM_EXCEPTION_TRAP 2
> #define ARM_EXCEPTION_IL 3
>
> #define kvm_arm_exception_type \
> {ARM_EXCEPTION_IRQ, "IRQ" }, \
> {ARM_EXCEPTION_EL1_SERROR, "SERROR" }, \
> {ARM_EXCEPTION_TRAP, "TRAP" }, \
> {ARM_EXCEPTION_HYP_GONE, "HYP_GONE" }
> ---
>
> So it should be reported already.

Thanks for double checking. But I still think this is incorrect,
ARM_EXCEPTION_HYP_GONE is defined as HVC_STUB_ERR (0xbadca11), which
is different from ARM_EXCEPTION_IL (3). So I don't understand why you
have the conclusion that 'ARM_EXCEPTION_IL are reported as HYP_GONE'.

Sorry if I miss anything for this.

Thanks,
Leo