From: Jeremy Higdon <jeremy@sgi.com>
To: Grant Grundler <grundler@parisc-linux.org>
Cc: Jesse Barnes <jbarnes@sgi.com>,
linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz,
James.Bottomley@steeleye.com
Subject: Re: [RFC] Relaxed PIO read vs. DMA write ordering
Date: Thu, 8 Jan 2004 23:13:47 -0800 [thread overview]
Message-ID: <20040109071347.GB343099@sgi.com> (raw)
In-Reply-To: <20040108184406.GA29210@colo.lackof.org>
On Thu, Jan 08, 2004 at 11:44:06AM -0700, Grant Grundler wrote:
> On Thu, Jan 08, 2004 at 09:36:55AM -0800, Jesse Barnes wrote:
> > > BTW, Jesse, did you look at part II of Documentation/DMA-ABI.txt?
> >
> > I remember seeing discussion of the new API, but haven't read that doc
> > yet. Since most drivers still use the pci_* API, we'd have to add a
> > call there, but we may as well make the two APIs as similar as possible
> > right?
>
> That would be my preference too.
>
> I haven't studied "part II" closely enough to figure out if adding
> pci_sync_consistent() would outright replace much of the DMA-API
> interface. The main issue is cacheline ownership.
>
> pci_sync_consistent() needs to indicate CPU wants ownership of outstanding
> cachelines vs IO device wanting to own them.
> SN2 doesn't care about the latter case since it's "mostly coherent".
> SN2 just needs to flush in-flight DMA and it's coherent again.
> But older non-coherent platforms do care.
What if the host/bridge sets the RO bit on a PIO read? That would
allow a PIO read response to bypass a DMA write. Now, maybe that
doesn't make much sense with respect to PCI-X. I think it's possible,
though. Or can the RO bit only be set by a device?
In any case, if we can do a PIO read to one address space that flushes
DMA ahead of it or another address space that does not, then you would
need a separate version of readX, rather than an extra call to sync
after the read.
In theory, such a distinction would be useful for any platform that
uses separate paths for PIO read responses and DMA writes. Perhaps
there is only one platform that has that feature?
jeremy
next prev parent reply other threads:[~2004-01-09 7:14 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-07 17:58 [RFC] Relaxed PIO read vs. DMA write ordering Jesse Barnes
2004-01-07 19:02 ` Matthew Wilcox
2004-01-07 22:21 ` Grant Grundler
2004-01-07 23:07 ` Jesse Barnes
2004-01-07 23:27 ` Greg KH
2004-01-07 23:56 ` Jesse Barnes
2004-01-08 0:34 ` Jesse Barnes
2004-01-08 0:08 ` Jeremy Higdon
2004-01-08 10:01 ` Jes Sorensen
2004-01-08 6:38 ` Grant Grundler
2004-01-08 16:23 ` Leonid Grossman
2004-01-08 17:39 ` Jesse Barnes
2004-01-08 17:54 ` Christoph Hellwig
2004-01-08 19:48 ` Leonid Grossman
2004-01-08 17:36 ` Jesse Barnes
2004-01-08 18:44 ` Grant Grundler
2004-01-09 7:13 ` Jeremy Higdon [this message]
2004-01-09 19:51 ` Jesse Barnes
2004-01-09 23:15 ` Jesse Barnes
2004-01-09 20:02 ` Grant Grundler
2004-01-11 14:34 ` James Bottomley
2004-01-09 7:39 ` Jochen Friedrich
2004-01-09 20:27 ` Grant Grundler
2004-01-09 22:12 ` Ivan Kokshaysky
2004-01-07 22:58 ` Jesse Barnes
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=20040109071347.GB343099@sgi.com \
--to=jeremy@sgi.com \
--cc=James.Bottomley@steeleye.com \
--cc=grundler@parisc-linux.org \
--cc=jbarnes@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
/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