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] Fixing ATS enabling for device assignment

To: <weidong.han@xxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Fixing ATS enabling for device assignment
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Wed, 19 May 2010 08:19:14 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, keir.fraser@xxxxxxxxxxxxx
Delivery-date: Wed, 19 May 2010 00:20:10 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> "Han, Weidong"  05/19/10 4:37 AM >>>
>Currently, Xen only enables ATS in Xen booting. When a ATS capable device is 
>assigned to guest, ATS is actually not enabled because FLR before assignment 
>causes it to be disabled. Thus ATS cannot be used in guest. This patch enables 
>ATS in domain_context_mapping. This ensures ATS is enabled in assignment 
>because FLR is earlier than domain_context_mapping call. Therefore ATS can be 
>used in guest. This patch also implements disable_ats_device to disable ATS 
>when the device is deassigned from a domain.

Hmm, this looks inconsistent to me: Iirc FLR is being done from the tools, so 
unless it is technically impossible to do FLR after domain_context_mapping(), 
the patch creates a hypervisor dependency on the tools (if nothing else, a 
latent bug - to be introduced the moment operation ordering changes in the 
tools).

Further, if ATS gets enabled at boot time, why would you want to disable it 
after de-assignment?

Finally (only partially related) - why are {en,dis}able_ats_device() 
architecture specific? PCI config space accesses really aren't I would think.

Jan


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

<Prev in Thread] Current Thread [Next in Thread>