On Mon, Jul 27, 2015 at 11:30 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > > On 27/07/2015 19:51, Andy Lutomirski wrote: >> > > 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? > > With PARAVIRT=y it never #GPs: > > .read_msr = native_read_msr_safe, > .write_msr = native_write_msr_safe, > > I don't remember if it's this way on bare-metal too. Oh, whoops, I missed the "_safe". IMO that's just a bug, and I guess KVM relies on it? ISTM the host should be fixed so that a non-PARAVIRT guest won't crash when using perf (if it indeed currently crashes) and/or the perf code should be fixed to work without this bug^Wfeature. Then KVM_GUEST kernels could be de-bloated by dropping PARAVIRT. Hi Arjan- A quick and dirty measurement suggests that this would save 2-3 ms when booting a KVM_GUEST=y kernel under KVM by turning apply_paravirt into a noop. --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