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

RE: [Xen-devel] Information required on TRACE_VMEXIT working.


  • To: "aditya shevalkar" <aditya27783@xxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Li, Xin B" <xin.b.li@xxxxxxxxx>
  • Date: Mon, 27 Nov 2006 14:08:44 +0800
  • Delivery-date: Sun, 26 Nov 2006 22:08:56 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AccR5xd/iRPuT84jS2iIxCOiJ8+9qgAAR0Uw
  • Thread-topic: [Xen-devel] Information required on TRACE_VMEXIT working.

>I am trying to understand its use in 
>xen3.0.3\xen\arch\x86\hvm\vmx\vmx.c 
>file in the vmx_vmexit_handler function. 
>Also explain the meaning of its arguments and from where does 
>it fetches 
>the values for different arguments. 
>Some code snippets from above file are given below: 
>
>
>TRACE_VMEXIT(0,exit_reason); 
>switch ( exit_reason ) 
>{ 
>case EXIT_REASON_EXCEPTION_NMI: 
>
>
>
>vector &= INTR_INFO_VECTOR_MASK; 
>TRACE_VMEXIT(1,vector); 
>
>
>__vmread(EXIT_QUALIFICATION, &va); 
>__vmread(VM_EXIT_INTR_ERROR_CODE, &regs->error_code); 
>TRACE_VMEXIT(3, regs->error_code); 
>TRACE_VMEXIT(4, va); 
>
>Also trying to understand the following expression in the same file: 
>#define TRACE_VMEXIT(index,value) this_cpu(trace_values)[index]=value 
>

It's used to debug and do performance tunning.

We defined 5 unsigned long integers in current physical processor data
area to store the information of a VMExit, obviously for different types
of VMExit, we need store different information, for example, for VMExits
caused by IO instructions, we log:
1, exit reason, surely every VMExit has its own reason,
2, port number;
3, read or write;
4, TSC when the VMExit happen;
5, TSC when the VMEXit is done.
And then these data are logged into XenTrace (xen/common/trace.c), and
then we can use xentrace tools to get and translate these data,
analyzing these data we can know VMExits distribution, and average cost
of each type.

Surely you can log data you need to meet your own requirements.

-Xin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.