On Thu, Apr 11, 2013 at 07:54:01AM +0000, Zhang, Yang Z wrote:
> Gleb Natapov wrote on 2013-04-11:
> > On Wed, Apr 10, 2013 at 09:22:20PM +0800, Yang Zhang wrote:
> >> From: Yang Zhang <yang.z.zh...@intel.com>
> >> 
> >> 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.
> >> 
> >> Signed-off-by: Yang Zhang <yang.z.zh...@intel.com>
> >> ---
> >>  virt/kvm/ioapic.c |   39 ++++++++++++++++++++++++++++++++++++++-
> >>  1 files changed, 38 insertions(+), 1 deletions(-)
> >> diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
> >> index a49fcd5..aeac154 100644
> >> --- a/virt/kvm/ioapic.c
> >> +++ b/virt/kvm/ioapic.c
> >> @@ -147,6 +147,26 @@ static void kvm_rtc_eoi_tracking_restore_all(struct
> > kvm_ioapic *ioapic)
> >>        __rtc_irq_eoi_tracking_restore_one(vcpu);
> >>  }
> >> +static void rtc_irq_eoi(struct kvm_ioapic *ioapic, struct kvm_vcpu *vcpu)
> >> +{
> >> +  if (test_and_clear_bit(vcpu->vcpu_id, ioapic->rtc_status.dest_map))
> >> +          --ioapic->rtc_status.pending_eoi;
> >> +
> >> +  WARN_ON(ioapic->rtc_status.pending_eoi < 0);
> >> +}
> >> +
> >> +static bool rtc_irq_check_coalesced(struct kvm_ioapic *ioapic, int irq,
> >> +                          bool line_status)
> >> +{
> >> +  if (irq != RTC_GSI || !line_status)
> >> +          return false;
> > Please move the check from rtc_irq_check_coalesced() to
> > kvm_ioapic_set_irq() like this: if (irq == RTC_GSI && line_status &&
> > rtc_irq_check_coalesced(ioapic, irq, line_status)) ....
> > 
> > I was going to fix it myself while applying, but since there will be
> > new posted interrupt series anyway you can as well fix this one too.
> You mean fix it and send out it with posted interrupt series? Or just rebase 
> the posted interrupt series on the top of this fix, but needn't to send out 
> it?
> 
Send both series. RTC one with this change.

--
                        Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to