WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] x86/IO-APIC: refine EOI-ing of migrating level i

To: "Andrew Cooper" <andrew.cooper3@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] x86/IO-APIC: refine EOI-ing of migrating level interrupts
From: "Jan Beulich" <JBeulich@xxxxxxxx>
Date: Fri, 18 Nov 2011 08:31:37 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 18 Nov 2011 00:32:44 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4EC53288.5010400@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4EC273B40200007800061145@xxxxxxxxxxxxxxxxxxxx> <4EC53288.5010400@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> On 17.11.11 at 17:12, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
> On 15/11/11 13:14, Jan Beulich wrote:
>> Rather than going through all IO-APICs and calling io_apic_eoi_vector()
>> for the vector in question, just use eoi_IO_APIC_irq().
>>
>> This in turn allows to eliminate quite a bit of other code.
>>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> 
> Tested-and-acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> (tested
> via backport to xen-4.1.x)

Now that this is in, could you try (again on the offending system)
whether adding e.g. a WARN_ON(vector != desc->arch.old_vector)
prior to the just added call to eoi_IO_APIC_irq() (but inside the
surrounding if()) would ever trigger (obviously you'd want to make
sure that the code path actually gets executed at all - perhaps
counting and printing the count once in a while would be the easiest
thing to do)?

If it does, we obviously need to stay with passing in vector. If not,
we'd need to do another round of code inspection to determine
whether indeed there's no race when relying on just the stored
data.

Thanks, Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel