Re: [PATCH 2/3] KVM: improve trace events of vmexit/mmio/ioport

From: David Ahern
Date: Tue Jan 17 2012 - 12:32:12 EST


On 01/17/2012 04:55 AM, Marcelo Tosatti wrote:
> On Tue, Jan 17, 2012 at 10:28:11AM +0800, Xiao Guangrong wrote:
>> On 01/16/2012 05:38 PM, Avi Kivity wrote:
>>
>>> On 01/16/2012 11:32 AM, Xiao Guangrong wrote:
>>>> - trace vcpu_id for these events
>>>
>>> We can infer the vcpu id from the kvm_entry tracepoints, no?
>>>
>>
>>
>> Thanks for your review, Avi!
>>
>> Hmm. i think it is hard to do since the vcpu thread can be scheduled
>> anytime, one example is as follow:
>>
>> CPU 0
>>
>> kvm_entry vcpu 0
>> ......
>> kvm_entry vcpu 1
>> ......
>> event1 occurs
>> ......
>> event2 occurs
>>
>> It is hard to know the event belong to which kvm_entry?
>>
>>>> - add kvm_mmio_done to trace the time when mmio/ioport emulation is completed
>>>
>>> ditto?
>>>
>>
>>
>> I think is ok to get the event end time by using kvm_entry.
>>
>>>
>>> Relying on the existing tracepoints will make the tool work on older
>>> kernels.
>>>
>>
>>
>> We can drop all new events, but unfortunately, the information of the origin
>> tracepoints is not enough, at least vcpu_id need be traced in theses events
>> to match its events. Yes?
>
> Yes, and if you don't add completed events, you'll have to use kvm_entry
> whose collection adds a lot of overhead.


vcpus run as threads and hence have their own tid which is available in
the perf samples.

There is an ongoing 'discussion' about modifying existing tracepoints
which your proposed patch violates. This is the start of it:

https://lkml.org/lkml/2012/1/16/41

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/