[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/ats: Disable Address Translation Services by default



Andrew/Jan,

I have verified that PCI device pass-through works with ATS disabled. Although, could you please help described how "asynchronous queued invalidation support" supposed to work?

Thanks,

Suravee

On 08/22/2014 07:39 AM, Jan Beulich wrote:
On 20.08.14 at 18:01, <andrew.cooper3@xxxxxxxxxx> 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 <andrew.cooper3@xxxxxxxxxx>
CC: Jan Beulich <JBeulich@xxxxxxxx>

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
  > `= <boolean>`

-> 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
  > `= <size>`
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




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.