Messages in this thread | | | Date | Mon, 14 Jul 2014 13:55:03 +0200 | From | Paolo Bonzini <> | Subject | Re: [PATCH V5 1/2] perf ignore LBR and extra_regs |
| |
Il 10/07/2014 12:59, kan.liang@intel.com ha scritto: > From: Kan Liang <kan.liang@intel.com> > > x86, perf: Protect LBR and extra_regs against KVM lying > > With -cpu host, KVM reports LBR and extra_regs support, if the host has support. > When the guest perf driver tries to access LBR or extra_regs MSR, > it #GPs all MSR accesses,since KVM doesn't handle LBR and extra_regs support. > So check the related MSRs access right once at initialization time to avoid the error access at runtime. > > For reproducing the issue, please build the kernel with CONFIG_KVM_INTEL = y (for host kernel). > And CONFIG_PARAVIRT = n and CONFIG_KVM_GUEST = n (for guest kernel).
I'm not sure this is a useful patch.
This is #GP'ing just because of a limitation in the PMU; just compile the kernel with CONFIG_PARAVIRT, or split the "rdmsr is always rdmsr_safe" behavior out of CONFIG_PARAVIRT and into a new Kconfig symbol.
In fact there's no reason why LBR cannot be virtualized (though it does need support from the processor), and it may even be possible to support OFFCORE_RSP_X in the KVM virtual PMU.
Paolo
| |