From: jbarnes@sgi.com (Jesse Barnes)
To: Grant Grundler <grundler@parisc-linux.org>
Cc: linux-kernel@vger.kernel.org, jeremy@sgi.com,
Matthew Wilcox <willy@debian.org>,
linux-pci@atrey.karlin.mff.cuni.cz, Jame.Bottomley@steeleye.com
Subject: Re: [RFC] Relaxed PIO read vs. DMA write ordering
Date: Thu, 8 Jan 2004 09:36:55 -0800 [thread overview]
Message-ID: <20040108173655.GA11168@sgi.com> (raw)
In-Reply-To: <20040108063829.GC22317@colo.lackof.org>
On Wed, Jan 07, 2004 at 11:38:29PM -0700, Grant Grundler wrote:
> ....maybe it would be better if more folks read the PCI-X spec.
> This quote is from v1.0a PCI-X Addendum to PCI Local Bus Spec,
> "Appendix 11 - Use Of Relaxed Ordering" (bottom of page 221):
>
> | In general, read and write transactions to or from I/O devices are
> | classified as payload or control. (PCI 2.2 Appendix E refers to payload
> | as Data and control as Flag and Status.) If the payload traffic requires
> | multiple data phases or multiple transactions, such payload traffic
> | rarely requires ordered transactions. That is, the order in which the
> | bytes of the payload arrive is inconsequential, if they all arrive before
> | the corresponding control traffic. However, control traffic generally does
> | require ordered transactions. I/O devices that follow this programming
> | model could use this distinction to set the Relaxed Ordering attribute
> | in hardware with no device driver intervention.
>
> Read that last sentence again.
> It suggests using readb() variants are the wrong approach.
Yep, you're right. Adding readX() would definitely be the wrong thing
to do if we want to support PCI-X RO correctly.
> I'll assert SN2 is non-coherent with RO enabled.
> "mostly coherent" is probably the right level of fuzziness.
> But linux doesn't have a "mostly coherent" DMA API. :^)
I'll buy that.
> [ James (Bottomley) - I couldn't find a definition of "non-consistent
> memory machine" in DMA-ABI.txt. Was that intentional or could you
> include a variant of the above definition?
> I guess if one needed to include a definition, then the reader
> shouldn't be using the interfaces described in Part II.
> But this is a key distinction from DMA-mapping.txt. ]
>
>
> > Right, that's another option--adding a pci_sync_consistent() call.
>
> yes - something like this would be my preference mostly because it's
> less intrusive to the drivers, less confusing for driver writers,
> and can be a complete NOP on most platforms.
>
> 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?
Jesse
next prev parent reply other threads:[~2004-01-08 17:37 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 [this message]
2004-01-08 18:44 ` Grant Grundler
2004-01-09 7:13 ` Jeremy Higdon
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=20040108173655.GA11168@sgi.com \
--to=jbarnes@sgi.com \
--cc=Jame.Bottomley@steeleye.com \
--cc=grundler@parisc-linux.org \
--cc=jeremy@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=willy@debian.org \
/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