Avi Kivity wrote: > On 12/21/2011 12:25 PM, Jan Kiszka wrote: >> We must not report the TSC deadline timer feature on our own when >> user space provides the APIC as we have no clue about its features. > > We must not report the TSC deadline timer feature on our own, period. > We should just update the timer mode mask there. Don't know how this > slipped through review. > > I think your original idea was correct. Add a new KVM_CAP for the tsc > deadline timer. Userspace can add the bit to cpuid if either it > implements the feature in a userspace apic, or if it finds the new > capability and uses the kernel apic. Is it necessary to use KVM_CAP? If I didn't misunderstand, the KVM_CAP sulotion would be: 1. qemu get kvm tsc deadline timer capability by KVM_CAP_...; 2. qemu add cpuid bit if ((guest use qemu apic && qemu emualte tsc deadline timer) || (guest use kvm apic && kvm emulate tsc deadline timer (KVM_CAP))) 3. qemu ioctl KVM_SET_CPUID2 4. kvm expose the feature to guest by saving it at vcpu->arch.cpuid_entries, seems it's logically redundant. Jan's patch v2 is a straight forward and simple fix. in the patch if (apic) { ... } means apic (and then its sub-logic tsc deadline timer) emulated by kvm, that's enough: if quest use kvm apic, it's OK to add cpuid bit and expose to guest; if guest don't use kvm apic, it will not touch cpuid bit; Thanks, Jinsong-- 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