v2 - Different ordering; the important fix is first, which makes it easier to backport as improvements of [1/14] have complex dependencies. - Correct choice of atomics in [2/14]. - Explicit SMP barriers for lockless updates in [3/14]. - Protection against userspace races in kvm_vm_ioctl_reinject, [8/14]. - New code churn. (I tried to annotate locking, which required me to really look at the code and I couldn't leave it alone at that point; sorry.) This series only works with the discard policy, do you want to "fix" NMI in the delay policy as well? (NMI delivery is still is going to be wrong by any standard, but will make some sense, at the cost of ugly code: we would always inject NMI when the timer fires and suppress NMI injection on EOI reinject.) Anatomy of the series: [1/14] fixes legacy NMI watchdog under discard policy. [2-7/14] prepare for optimization of the discard policy. [8/14] optimizes discard policy by removing notifiers. [9-14/14] slightly improve related code. I'm ok with dropping patches [2-14/14]. v1: http://www.spinics.net/lists/kvm/msg127017.html Radim Krčmář (14): KVM: x86: change PIT discard tick policy KVM: x86: simplify atomics in kvm_pit_ack_irq KVM: x86: add kvm_pit_reset_reinject KVM: x86: use atomic_t instead of pit.inject_lock KVM: x86: tone down WARN_ON pit.state_lock KVM: x86: pass struct kvm_pit instead of kvm in PIT KVM: x86: remove unnecessary uses of PIT state lock KVM: x86: remove notifiers from PIT discard policy KVM: x86: refactor kvm_create_pit KVM: x86: refactor kvm_free_pit KVM: x86: remove pit and kvm from kvm_kpit_state KVM: x86: remove pointless dereference of PIT KVM: x86: don't assume layout of kvm_kpit_state KVM: x86: move PIT timer function initialization arch/x86/kvm/i8254.c | 318 +++++++++++++++++++++++---------------------------- arch/x86/kvm/i8254.h | 15 +-- arch/x86/kvm/x86.c | 52 ++++++--- 3 files changed, 187 insertions(+), 198 deletions(-) -- 2.7.1 -- 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