public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: akepner@sgi.com
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>,
	Jes Sorensen <jes@sgi.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	rdreier@cisco.com, linux-ia64 <linux-ia64@vger.kernel.org>
Subject: Re: [PATCH 2/3] dma: override "dma_flags_set_dmaflush" for sn-ia64
Date: Tue, 21 Aug 2007 17:34:50 -0700	[thread overview]
Message-ID: <20070822003450.GM5592@sgi.com> (raw)
In-Reply-To: <1187729729.18410.48.camel@localhost.localdomain>

On Tue, Aug 21, 2007 at 03:55:29PM -0500, James Bottomley wrote:

> .....
> Almost every platform supports posted DMA ... its a property of most PCI
> bridge chips.
> 

The term "posted DMA" is used to describe this behavior in the Altix 
Device Driver Writer's Guide, but it may be confusing things here. 
Maybe a better term will suggest itself if I can clarify....

On Altix, DMA from a device isn't guaranteed to arrive in host memory 
in the order it was sent from the device. This reordering can happen 
in the NUMA interconnect (it's specifically not a PCI reordering.)

> ......
> This isn't possible on most platforms.  PCI write posting can only be
> flushed by a read transaction on the device (or sometimes any device on
> the bridge).  Either this interface is misnamed and misdescribed, or it
> can't work for most systems.
> 

Clearly it wasn't described adequately...

A read transaction on the device will flush pending writes to the 
device. But I'm worried about DMA from the device to host memory. 
On Altix, there are two mechanisms that flush all in-flight DMA 
to host memory: 1) an interrupt, and 2) a write to a memory region 
which has a "barrier" attribute set. Obviously option 1 isn't 
viable for performance reasons. This new interface is about making 
"option 2" generally available. (As it is now, the only way to get 
memory with the "barrier" attribute is to allocate it with 
dma_alloc_coherent().)

-- 
Arthur


  reply	other threads:[~2007-08-22  0:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-18  0:27 [PATCH 2/3] dma: override "dma_flags_set_dmaflush" for sn-ia64 akepner
2007-08-20  8:24 ` Jes Sorensen
2007-08-20 16:07   ` akepner
2007-08-21 19:35   ` akepner
2007-08-21 20:05     ` Randy Dunlap
2007-08-21 20:55       ` James Bottomley
2007-08-22  0:34         ` akepner [this message]
2007-08-22  1:14           ` James Bottomley
2007-08-22  7:39             ` Jes Sorensen
2007-08-22 14:02               ` James Bottomley
2007-08-22 16:03                 ` Jesse Barnes
2007-08-22 16:44                   ` James Bottomley
2007-08-22 16:51                     ` Jesse Barnes
2007-08-22 17:04                       ` James Bottomley
2007-08-22 17:03                         ` Jes Sorensen
2007-08-22 18:10                           ` James Bottomley
2007-08-23  8:45                             ` Jes Sorensen
2007-08-22 17:17                         ` Jesse Barnes
2007-08-22 18:13                           ` James Bottomley
2007-08-22 18:44                             ` akepner
2007-08-23  5:58               ` Jeremy Higdon
2007-08-22 15:54             ` akepner
2007-08-21 20:16     ` Matthew Wilcox
2007-08-21 21:37       ` akepner
2007-08-22  7:44       ` Jes Sorensen

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=20070822003450.GM5592@sgi.com \
    --to=akepner@sgi.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=jes@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    --cc=rdreier@cisco.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