Re: [PATCH] KVM: trace events: update list of exit reasons

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2017-09-14 12:06+0200, Cornelia Huck:
> On Thu, 14 Sep 2017 11:50:07 +0200
> Ladi Prosek <lprosek@xxxxxxxxxx> wrote:
> 
>> Adding entries for exit reasons 23 - 27:
>> 
>>   KVM_EXIT_EPR
>>   KVM_EXIT_SYSTEM_EVENT
>>   KVM_EXIT_S390_STSI
>>   KVM_EXIT_IOAPIC_EOI
>>   KVM_EXIT_HYPERV
>> 
>> Signed-off-by: Ladi Prosek <lprosek@xxxxxxxxxx>
>> ---
>>  include/trace/events/kvm.h | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>> 
>> diff --git a/include/trace/events/kvm.h b/include/trace/events/kvm.h
>> index 8ade3eb..dcffedf 100644
>> --- a/include/trace/events/kvm.h
>> +++ b/include/trace/events/kvm.h
>> @@ -14,7 +14,9 @@
>>  	ERSN(SHUTDOWN), ERSN(FAIL_ENTRY), ERSN(INTR), ERSN(SET_TPR),	\
>>  	ERSN(TPR_ACCESS), ERSN(S390_SIEIC), ERSN(S390_RESET), ERSN(DCR),\
>>  	ERSN(NMI), ERSN(INTERNAL_ERROR), ERSN(OSI), ERSN(PAPR_HCALL),	\
>> -	ERSN(S390_UCONTROL), ERSN(WATCHDOG), ERSN(S390_TSCH)
>> +	ERSN(S390_UCONTROL), ERSN(WATCHDOG), ERSN(S390_TSCH), ERSN(EPR),\
>> +	ERSN(SYSTEM_EVENT), ERSN(S390_STSI), ERSN(IOAPIC_EOI),          \
>> +	ERSN(HYPERV)
>>  
>>  TRACE_EVENT(kvm_userspace_exit,
>>  	    TP_PROTO(__u32 reason, int errno),

Applied, thanks.

> Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>
> 
> /me wonders whether there is a way to avoid them running out of sync...

If we do not want to generate it with an external script, I think the
simplest is to have a separate file that looks like

  #define kvm_exit_reasons \
    KVM_EXIT(UNKNOWN, 0), \
    KVM_EXIT(EXCEPTION, 1), \
    ...
    KVM_EXIT(HYPERV, 27) \

and include it from both places.  The current exit definitions would be

  #define KVM_EXIT(reason, code)
  	KVM_EXIT_ ## reason = code

  #include <the/magic/file>
  
  enum {
  	kvm_exit_reasons
  };

  #undef kvm_exit_reasons

and the trace

  #define KVM_EXIT(reason, code)
  	{ code, "KVM_EXIT_" # reason }
  #include <the/magic/file>

  ...

  	__print_symbolic(__entry->reason, kvm_exit_reasons),

  ...

  #undef kvm_exit_reasons

(Would also work with just "KVM_EXIT(UNKNOWN), ..." and small tweaks.)

> but otoh, not so many exit reasons are being added anyway.

Yes. :)



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux