Re: [PATCH V3] perf & kvm: Enhance perf to collect KVM guest os statistics from host side

Avi Kivity
2010-04-20T09:38:37Z

On 04/20/2010 06:32 AM, Sheng Yang wrote:
> On Monday 19 April 2010 16:25:17 Avi Kivity wrote:
>
>> On 04/17/2010 09:12 PM, Avi Kivity wrote:
>>
>>> I think you were right the first time around.
>>>
>> Re-reading again (esp. the part about treatment of indirect NMI
>> vmexits), I think this was wrong, and that the code is correct. I am
>> now thoroughly confused.
>>
>>
> My fault...
>

Not at all, it's really confusingly worded.

> To my understanding now, "If an event causes a VM exit directly, it does not
> update architectural state as it would have if it had it not caused the VM
> exit:", means: in NMI case, NMI would involve the NMI handler, and change the
> "architectural state" to NMI block. In VMX non-root mode, the behavior of
> calling NMI handler changed(determine by some VMCS fields), but not the
> affection to the "architectural state". So the NMI block state would remain
> the same.
>

Agree. It's confusing because the internal "nmi pending" flag is not
set, while the "nmi blocking" flag is set.

(on svm both are set, but the NMI is not taken until the vmexit
completes and the host unmasks NMIs).

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.