lkml.org 
[lkml]   [2010]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V3] perf & kvm: Enhance perf to collect KVM guest os statistics from host side
On 04/15/2030 04:04 AM, Zhang, Yanmin wrote:
>
>> An even more accurate way to determine this is to check whether the
>> interrupt frame points back at the 'int $2' instruction. However we
>> plan to switch to a self-IPI method to inject the NMI, and I'm not sure
>> wether APIC NMIs are accepted on an instruction boundary or whether
>> there's some latency involved.
>>
> Yes. But the frame pointer checking seems a little complicated.
>

An even bigger disadvantage is that it won't work with Sheng's patch,
self-NMIs are not synchronous.

>>> trace_kvm_entry(vcpu->vcpu_id);
>>> +
>>> + percpu_write(current_vcpu, vcpu);
>>> kvm_x86_ops->run(vcpu);
>>> + percpu_write(current_vcpu, NULL);
>>>
>>>
>> If you move this around the 'int $2' instructions you will close the
>> race, as a stray NMI won't catch us updating the rip cache. But that
>> depends on whether self-IPI is accepted on the next instruction or not.
>>
> Right. The kernel part has dependency on the self-IPI implementation.
> I will move above percpu_write(current_vcpu, vcpu) (or a new wrapper function)
> just around 'int $2'.
>
>

Or create a new function to inject the interrupt in x86.c. That will
reduce duplication between svm.c and vmx.c.

> Sheng would find a solution on the self-IPI delivery. Let's separate my patch
> and self-IPI as 2 issues as we don't know when the self-IPI delivery would be
> resolved.
>

Sure.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.



\
 
 \ /
  Last update: 2010-04-15 10:09    [W:0.366 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site