From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH] x86/ats: Disable Address Translation Services by default Date: Fri, 22 Aug 2014 13:39:56 +0100 Message-ID: <53F7563C020000780002CB46@mail.emea.novell.com> References: <1408550481-31464-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1408550481-31464-1-git-send-email-andrew.cooper3@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andrew Cooper Cc: Yang Z Zhang , Kevin Tian , Aravind Gopalakrishnan , suravee.suthikulpanit@amd.com, Xen-devel List-Id: xen-devel@lists.xenproject.org >>> On 20.08.14 at 18:01, wrote: > Xen cannot safely use any ATS functionality until it gains asynchronous > queued > invalidation support, because of the current synchronous wait for > completion. > > Do not turn ATS on by default. > > While editing the default in the command line documentation, correct the > statement regarding PCI Passthrough. ATS is purely a performance > optimisation, and is certainly not required for PCI Passthrough to function. > > Signed-off-by: Andrew Cooper > CC: Jan Beulich Even if not mandated by ./MAINTAINERS I think this definitely should have been Cc-ed to the VT-d and AMD IOMMU maintainers (now done). Jan > --- > docs/misc/xen-command-line.markdown | 9 ++++++--- > xen/drivers/passthrough/x86/ats.c | 2 +- > 2 files changed, 7 insertions(+), 4 deletions(-) > > diff --git a/docs/misc/xen-command-line.markdown > b/docs/misc/xen-command-line.markdown > index a8cab59..5f4680f 100644 > --- a/docs/misc/xen-command-line.markdown > +++ b/docs/misc/xen-command-line.markdown > @@ -176,10 +176,13 @@ developers wishing Xen to fall back to older timing > methods on newer hardware. > ### ats > > `= ` > > -> Default: `true` > +> Default: `false` > + > +Permits Xen to set up and use PCI Address Translation Services. This is a > +performance optimisation for PCI Passthrough. > > -Permits Xen to set up and use PCI Address Translation Services, which > -is required for PCI Passthrough. > +**WARNING: Xen cannot currently safely use ATS because of its synchronous > wait > +loops for Queued Invalidation completions.** > > ### availmem > > `= ` > diff --git a/xen/drivers/passthrough/x86/ats.c > b/xen/drivers/passthrough/x86/ats.c > index 1e3e03a..436eada 100644 > --- a/xen/drivers/passthrough/x86/ats.c > +++ b/xen/drivers/passthrough/x86/ats.c > @@ -20,7 +20,7 @@ > > LIST_HEAD(ats_devices); > > -bool_t __read_mostly ats_enabled = 1; > +bool_t __read_mostly ats_enabled = 0; > boolean_param("ats", ats_enabled); > > int enable_ats_device(int seg, int bus, int devfn, const void *iommu) > -- > 1.7.10.4