kvm: 23090: cpu0 unhandled wrmsr 0x391 data 2000000f
I installed kvm on CentOS 6.4. I created virtual server CentOS_test on it. When I start CEntOS_test I have message:
kvm: 23090: cpu0 unhandled wrmsr 0x391 data 2000000f
What is it mean? CentOS_test works fine, but this message concerned me.
It's a harmless warning message. Your guest operating system is probing its virtual CPU and restoring some CPU state during boot, which can not be done in a virtual environment. See this KVM mailing list post. It should eventually go away with a KVM/QEMU update.
"wrmsr" means "write to model-specific register".
The KVM guest's kernel is attempting to access some x86_64 CPU register which is present in the physical CPU, but which KVM does not expose to the guest, or does not provide the guest write access to.
This denial of access is probably because that access may break the host. For example, you don't want your guest kernel being allowed to turn features of the physical processors on and off.
You can read about MSRs at: http://en.wikipedia.org/wiki/Model-specific_register
You can view the entire lot of x86 and x86_64 MSRs at: http://download.intel.com/products/processor/manual/325384.pdf
You can see this MSR 0x391 (the 0x specifies Hex, the Intel manual refers to this as 391H) is a performance counter register. Its usage is covered a bit more at: http://ajray.wordpress.com/2009/04/12/global-control-register-for-pmcs/
Because the guest VCPU is not a real CPU, and there is more running on the CPU than the guest can realise, we don't want its performance data messing up the real performance data which the host kernel is taking care of, hence the guest kernel writing into this MSR is denied.