Re: [PATCH v2 00/14] KVM: x86: change PIT discard policy and untangle related code

From: Paolo Bonzini
Date: Thu Feb 18 2016 - 13:11:11 EST




On 17/02/2016 20:14, Radim KrÄmÃÅ wrote:
> 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(-)
>

Patches 1 and 9-14:

Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Thanks!

Paolo