From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH v8 0/7] Use eoi to track RTC interrupt delivery status Date: Tue, 9 Apr 2013 10:08:15 +0300 Message-ID: <20130409070815.GP17919@redhat.com> References: <1365430669-31126-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, mtosatti@redhat.com, xiantao.zhang@intel.com, pbonzini@redhat.com To: Yang Zhang Return-path: Received: from mx1.redhat.com ([209.132.183.28]:47645 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932600Ab3DIHIR (ORCPT ); Tue, 9 Apr 2013 03:08:17 -0400 Content-Disposition: inline In-Reply-To: <1365430669-31126-1-git-send-email-yang.z.zhang@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Apr 08, 2013 at 10:17:42PM +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. > Only minor comment from me to this one. Paolo, Marcelo any comments? > Changes from v7 to v8 > * Revamping restore code. > * Add BUG_ON to check pending_eoi. > * Rebase on top of KVM. > > Changes from v6 to v7 > * Only track the RTC interrupt when userspace uses *_LINE_* ioctl. > * Call rtc_irq_restore() after lapic is restored. > * Rebase on top of KVM. > > Changes from v5 to v6 > * Move set dest_map logic into __apic_accept_irq(). > * Use RTC_GSI to distinguish different platform, and drop all CONFIG_X86. > * Rebase on top of KVM. > > Changes from v4 to v5 > * Calculate destination vcpu on interrupt injection not hook into ioapic > modification. > * 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 | 133 ++++++++++++++++++++++++++++++++++++++++------ > virt/kvm/ioapic.h | 20 ++++++- > virt/kvm/irq_comm.c | 31 ++++++----- > virt/kvm/kvm_main.c | 3 +- > 11 files changed, 214 insertions(+), 65 deletions(-) -- Gleb.