From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH v10 0/7] Use eoi to track RTC interrupt delivery status Date: Sun, 14 Apr 2013 12:39:50 +0300 Message-ID: <20130414093950.GG17919@redhat.com> References: <1365679301-13044-1-git-send-email-yang.z.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org, pbonzini@redhat.com, mtosatti@redhat.com, xiantao.zhang@intel.com To: Yang Zhang Return-path: Received: from mx1.redhat.com ([209.132.183.28]:57859 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750878Ab3DNJjx (ORCPT ); Sun, 14 Apr 2013 05:39:53 -0400 Content-Disposition: inline In-Reply-To: <1365679301-13044-1-git-send-email-yang.z.zhang@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Apr 11, 2013 at 07:21:34PM +0800, Yang Zhang wrote: > From: Yang Zhang > > Current interrupt coalescing logci which only used by RTC has conflict > with Posted Interrupt. > > This patch introduces a new mechinism to use eoi to track interrupt: > When delivering an interrupt to vcpu, the pending_eoi set to number of > vcpu that received the interrupt. And decrease it when each vcpu writing > eoi. No subsequent RTC interrupt can deliver to vcpu until all vcpus > write eoi. > Reviewed-by: Gleb Natapov > Changes from v9 to v10 > * Remove irq check and line_status check from rtc_irq_check_coalesced() to > kvm_ioapic_set_irq(). > * Rebase on top of KVM. > > Changes from v8 to v9 > * Removing pass vector to __rtc_irq_eoi_tracking_restore_one. > * Rebase on top of KVM. > > Changes from v7 to v8 > * Revamping restore logic. > * Add BUG_ON to check pending_eoi. > * Rebase on top of KVM. > > Yang Zhang (7): > KVM: Add vcpu info to ioapic_update_eoi() > KVM: Introduce struct rtc_status > KVM: Return destination vcpu on interrupt injection > KVM: Add reset/restore rtc_status support > KVM: Force vmexit with virtual interrupt delivery > KVM: Let ioapic know the irq line status > KVM: Use eoi to track RTC interrupt delivery status > > arch/x86/kvm/i8254.c | 4 +- > arch/x86/kvm/lapic.c | 36 ++++++++++---- > arch/x86/kvm/lapic.h | 7 ++- > arch/x86/kvm/x86.c | 6 ++- > include/linux/kvm_host.h | 11 +++-- > virt/kvm/assigned-dev.c | 13 +++-- > virt/kvm/eventfd.c | 15 +++-- > virt/kvm/ioapic.c | 126 ++++++++++++++++++++++++++++++++++++++++------ > virt/kvm/ioapic.h | 20 ++++++- > virt/kvm/irq_comm.c | 31 +++++++----- > virt/kvm/kvm_main.c | 3 +- > 11 files changed, 207 insertions(+), 65 deletions(-) > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Gleb.