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

Sergey Senozhatsky
2020-09-15T11:09:44Z

Hello,

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.

> > +define_exit_reasons_table(arm64_exit_reasons, kvm_arm_exception_type);
> > +define_exit_reasons_table(arm64_trap_exit_reasons, kvm_arm_exception_class);
> > +
> > +const char *kvm_trap_exit_reason = "esr_ec";
> > +const char *vcpu_id_str = "id";
> > +const int decode_str_len = 20;
> > +const char *kvm_exit_reason = "ret";
> > +const char *kvm_entry_trace = "kvm:kvm_entry";
> > +const char *kvm_exit_trace = "kvm:kvm_exit";
> > +
> > +const char *kvm_events_tp[] = {
> > + "kvm:kvm_entry",
> > + "kvm:kvm_exit",
>
> I think Arm64 needs to support event 'kvm_mmio'. It's good to use a
> new patch for support this event?

Yes, I guess a follow up kvm_mmio patch would be a better option.

> > +int cpu_isa_init(struct perf_kvm_stat *kvm, const char *cpuid __maybe_unused)
> > +{
> > + kvm->exit_reasons = arm64_exit_reasons;
>
> Since the "kvm->exit_reasons" will be always set in the function
> event_get_key(), seems to me here can remove this assignment.

Yes, this assignment is a leftover.