From: Chris Wright <chrisw@sous-sol.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Chris Wright <chrisw@sous-sol.org>,
Roland Dreier <roland@purestorage.com>,
Alex Williamson <alex.williamson@redhat.com>,
iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, ddutile@redhat.com
Subject: Re: [PATCH] intel-iommu: Default to non-coherent for domains unattached to iommus
Date: Fri, 11 Nov 2011 17:08:50 -0800 [thread overview]
Message-ID: <20111112010850.GT14486@sequoia.sous-sol.org> (raw)
In-Reply-To: <1321059340.2006.27.camel@shinybook.infradead.org>
* David Woodhouse (dwmw2@infradead.org) wrote:
> On Fri, 2011-11-11 at 16:51 -0800, Chris Wright wrote:
> > * Roland Dreier (roland@purestorage.com) wrote:
> > > On Fri, Nov 11, 2011 at 4:37 PM, David Woodhouse <dwmw2@infradead.org> wrote:
> > > > This brain-damage only affects the first chipsets
> > > > from before we worked out that cache incoherency was a *really* f*cking
> > > > stupid idea, doesn't it?
> > >
> > > As we talked about at KS, I have some Westmere EP (ie latest
> > > and greatest server platform) systems where the BIOS exposes
> > > an option that allows choosing VT-d coherency on or off, and
> > > defaults it to "off".
> >
> > That's just more brain damage AFAICT. Esp. if you do performance
> > testing (and choose not to use passthrough mode)... have and it's
> > quite measurable. I switched default to on long time ago, w/out
> > issue.
> >
> > > What is the "official" Intel line on coherency with Westmere and
> > > Tylersburg -- because as I also mentioned, I was seeing some
> > > problems with VT-d and the default "coherency off" setting that
> > > looked like the IOMMU HW is getting stale PTEs (ie a missing
> > > or not working cache flush).
> >
> > That sounds like sw bugs more than official recommendation issue.
>
> Although the cache-flushing has been tested on the original chipsets
> fairly well, and it's one of the parts I've mostly rewritten when doing
> performance work since I inherited the code, so that might not be my
> first suspicion.
All the stale PTE issues I've encountered in the past have turned into
fixed sw bugs (perhaps it's since been fixed?). Also, I thought with
Coherency On/Off it's only effecting the use of clflush, not IOTLB or
Context Entry cache flushing (invalidations).
On a slightly separate, but performance related note...have you ever
tried using the hw queue? Currently we only have a sw queue, but the
submission path for invalidations doesn't really queue (unless I missed
it). It seems to pull from the software queue and submit/wait,
submit/wait...Seems simple enough to submit the whole queue and then
issue the wait.
This would be a huge win if we ever have an emulated IOMMU. We could
make the sw queue bigger, and allocate more than a single page for the
hw queue. We'd only exit on running the queue rather than every
invalidation.
> I would be more inclined to suspect that there's some
> chipset buffering that we aren't correctly flushing (which might in
> itself be a hardware issue, since the way to flush the cache is supposed
> to be well-defined).
Roland, have you tried switching BIOS to Coherency On and can do you
ever see stale PTEs?
thanks,
-chris
next prev parent reply other threads:[~2011-11-12 1:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-11 22:49 Alex Williamson
2011-11-12 0:17 ` Chris Wright
2011-11-12 0:37 ` David Woodhouse
2011-11-12 0:45 ` Chris Wright
2011-11-12 0:47 ` Chris Wright
2011-11-12 0:51 ` David Woodhouse
2011-11-12 0:58 ` Chris Wright
2011-11-12 1:03 ` David Woodhouse
2011-11-12 0:46 ` Roland Dreier
2011-11-12 0:51 ` Chris Wright
2011-11-12 0:55 ` David Woodhouse
2011-11-12 1:08 ` Chris Wright [this message]
2011-11-12 1:20 ` David Woodhouse
2011-11-15 7:12 ` cody
2011-11-15 4:54 ` Chris Wright
2011-11-15 5:55 ` Kai Huang
2011-11-12 1:30 ` Roland Dreier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111112010850.GT14486@sequoia.sous-sol.org \
--to=chrisw@sous-sol.org \
--cc=alex.williamson@redhat.com \
--cc=ddutile@redhat.com \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=roland@purestorage.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®