From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: Re: 4.0/4.1 requests - IO-APIC EOI v4 [RFC] Date: Mon, 12 Sep 2011 12:30:54 +0100 Message-ID: References: <4E6DF9AB0200007800055B2F@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4E6DF9AB0200007800055B2F@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich , Andrew Cooper Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 12/09/2011 11:23, "Jan Beulich" wrote: >>>> On 12.09.11 at 12:15, Andrew Cooper wrote: >> On 12/09/11 07:50, Jan Beulich wrote: >>>>>> On 09.09.11 at 18:47, Andrew Cooper wrote: >>>> + * Xen code doesn't actually prevent multiple IO-APIC >>>> + * entries being assigned the same vector, so EOI all >>>> + * pins which have the correct vector. >>>> + * >>>> + * Remove the following code when the above assertion >>>> + * is fulfilled. */ >>>> + >>> Why don't you just call __io_apic_eoi() recursively here? >>> >>> Jan >> >> If I call the function recursively, it will loop forever. Anyway, the > > Why would it loop forever? You get in here only with pin == -1, and > for the recursive call you'd pass the pin number you determined. Exactly. Please re-send the patch with the recursive call. It makes the function quite a bit shorter. -- Keir >> need to clear multiple pins is only temorary until George finishes his >> per-device AMD interrupt remap patch which will enforce vector >> uniqueness in each IO-APIC. My expectation is that this issue will be >> fixed in the next few weeks. > > Sure. > > Jan >