Yes, that is reasonable -- I though David wanted to use the feature when running on CPUs that support it (only mask off on the one). I'd start with changing the check in vmx_check_processor_compat() to ignore disabled features and then extend KVM to enable only the common set. Finding the minimal set of common features is complicated by hotplug ... I think that the check we have is not working perfectly, so if you currently 1) offline all cores on the worse CPU 2) load kvm module 3) online all CPUs then KVM is going enable tsc-scaling and not complain, but guests running on onlined CPUs are not going to work. Can you confirm that?
My intuition tells me that whenever we hotplug CPUs that have less features than used, we are in trouble. So tsc scaling might just be the tip of the iceberg. I think this is a general problem.
What should happen if we hotplug such CPUs? We can't run existing VCPUs on them. And isn't this even a general problem, also for other tasks in the system (how is that problem solved with cpuid features?)?
(I am currently thinking about "virsh capabilities", could it happen that our "host" cpu model is no longer valid after we hotplugged cpus (as the common feature set got smaller)? that would be very ugly)
-- David -- 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