On Mon, Jul 27, 2015 at 10:49 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > > On 27/07/2015 17:56, Andy Lutomirski wrote: >> On Mon, Jul 27, 2015 at 6:59 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: >>> >>> >>> On 24/07/2015 19:33, Andy Lutomirski wrote: >>>> PARAVIRT adds a fair amount of bloat and, AFAICT, KVM_GUEST doesn't >>>> really need any of it. Would it make sense to drop the dependency? >>> >>> I think the main reason for PARAVIRT is that pv kernels have by default >>> >>> .read_msr = native_read_msr_safe, >>> .write_msr = native_write_msr_safe, >>> >>> Unfortunately Intel adds a bunch of performance measurement features >>> saying that "they work with this cpuid family/model/stepping" and at the >>> same time attach them to some non-architectural MSRs that, in principle >>> could be reused for something else years down the road. This is not a >>> huge problem for Windows, where only tools such as vTune use these MSRs, >>> but it is a problem for Linux. >>> >>> The alternative is ignore_msrs, but that's a very big hammer too. >> >> I think I'm missing something. Does KVM_GUEST hook read_msr and >> write_msr? I don't see it. > > PARAVIRT does, and it's the main reason why you'd want PARAVIRT for a > KVM guest. > Still confused. On a KVM guest (with PARAVIRT=y), doesn't read_msr do exactly the same thing it does on native, albeit with more indirection and patching involved? --Andy -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html