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] AMD IOMMU intremap tables and IOAPICs

To: Tim Deegan <tim@xxxxxxx>
Subject: Re: [Xen-devel] AMD IOMMU intremap tables and IOAPICs
From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date: Tue, 6 Sep 2011 17:25:05 +0100
Cc: Dunlap <George.Dunlap@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, George
Delivery-date: Tue, 06 Sep 2011 09:25:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20110906160612.GA12835@xxxxxxxxxxxxxxxxxxxxx>
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: <CAFLBxZbvogJfQM0vR0dLCA1YmiWnVz90kRs89KXsJ8VdEqvb=g@xxxxxxxxxxxxxx> <4E664228.5070606@xxxxxxxxxx> <20110906160612.GA12835@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13
On 06/09/11 17:06, Tim Deegan wrote:
> At 16:54 +0100 on 06 Sep (1315328056), Andrew Cooper wrote:
>> On 06/09/11 16:47, George Dunlap wrote:
>>> Wei,
>>>
>>> Quick question:  Am I reading the code correctly, that even with
>>> per-device interrupt remap tables, that GSIs are accounted to the
>>> intremap table of the corresponding IOAPIC, presumably because the
>>> IOMMU sees interrupts generated as GSIs as coming from the IOAPIC?  In
>>> that case, then we need all devices sharing the same IOAPIC must not
>>> have any vector collisions.  Is that correct?
>> Based on the ICH10 IO-APIC documentation with respect to auto EOIs, we
>> cant have any two IRQs across any IO-APICs sharing a vector,
>> irrespective of IOMMU or not.  (Because the EOI'ing an IO-APIC entry
>> only takes account of vector and not destination)
> If this is the case, is there any point in having per-CPU IDTs?  
> Or per-device remapping tables?
>
> Tim.

My understanding is:

GSIs should always have unique vectors (due to the auto EOI broadcast)
AMD IOMMU with per-device remapping tables means that devices cant ever
share interrupts when migrating.
AMD IOMMU with a global remapping table negates the benefit of per-CPU IDTs

Therefore per-CPU IDTs are useful, but there is juggling required when
choosing a new vector on migrate (With the possibility of having free
vectors, but unable to assign any because of other restrictions)

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


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