Re: [PATCH v13 08/12] KVM: x86: Add Intel PT context switch for each vcpu

From: Alexander Shishkin
Date: Tue Oct 30 2018 - 07:27:07 EST

Paolo Bonzini <pbonzini@xxxxxxxxxx> writes:

>> If you "have to enable or disable anything" it means you have to
>> override the default. But the default in this patches is "no change
>> compared to before the patches", leaving tracing of both host and guest
>> entirely to the host, so I don't understand your remark. What workflow
>> is broken?
>>> There already are controls in perf that enable/disable guest tracing.
>> You are confusing "tracing guest from the host" and "the guest can trace
>> itself". This patchset is adding support for the latter, and that

I'm not confusing anything. In the terminology that you're using, the
latter breaks the former. This cannot happen.

>> affects directly whether the tracing CPUID leaf can be added to the
>> guest. Therefore it's not perf that can decide whether to turn it on;
>> KVM must know it when /dev/kvm is opened, which is why it is a module
>> parameter.

There is a control in the perf event attribute that enables tracing the
guest. If this control is enabled, the kvm needs to stay away from any
PT related MSRs. Conversely, if kvm is using PT (or, as you say, "the
guest is tracing itself"), the host should not be allowed to ask for
tracing the guest at the same time.