All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@SteelEye.com>
To: dougg@torque.net
Cc: Benny Halevy <bhalevy@panasas.com>,
	Boaz Harrosh <bharrosh@panasas.com>,
	Jens Axboe <jens.axboe@oracle.com>,
	Christoph Hellwig <hch@infradead.org>,
	Mike Christie <michaelc@cs.wisc.edu>,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	open-iscsi@googlegroups.com, Daniel.E.Messinger@seagate.com,
	Liran Schour <LIRANS@il.ibm.com>
Subject: Re: [RFC 1/6] bidi support: request dma_data_direction
Date: Mon, 22 Jan 2007 09:31:43 -0600	[thread overview]
Message-ID: <1169479903.2769.20.camel@mulgrave.il.steeleye.com> (raw)
In-Reply-To: <45B4D2A0.4080201@torque.net>

On Mon, 2007-01-22 at 10:05 -0500, Douglas Gilbert wrote:
> Perhaps the right use of DMA_BIRECTIONAL needs to be
> defined.
> 
> Could it be used with a XDWRITE(10) SCSI command
> defined in sbc3r07.pdf at http://www.t10.org ? I suspect
> using two scatter gather lists would be a better approach.
> 
> >>> - Introduce new blk_rq_init_unqueued_req() and use it in places ad-hoc
> >>>   requests were used and bzero'ed.
> >> With a bi-directional transfer is it always unambiguous
> >> which transfer occurs first (or could they occur at
> >> the same time)?
> > 
> > The bidi transfers can occur in any order and in parallel.

> Then it is not sufficient for modern SCSI transports in which
> certain bidirectional commands (probably most) have a well
> defined order.

Right, that's why I think bi-directional needs to be one way op followed
by one way op ... even if it is to the same buffer.  That should be a
general enough paradigm for everything.

> So DMA_BIDIRECTIONAL looks PCI specific and it may have
> been a mistake to replace other subsystem's direction flags
> with it. RDMA might be an interesting case.

It's bus specific ... it means that the bus must be programmed to expect
the device to transfer both to and from the memory buffer.  There are a
very few drivers which do this when they don't know the actual transfer
direction, so it might be reasonably tested on architectures ... but
we'd probably have to check.

James



  reply	other threads:[~2007-01-22 15:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-21 23:21 [RFC 1/6] bidi support: request dma_data_direction Boaz Harrosh
2007-01-22  0:24 ` Douglas Gilbert
2007-01-22  6:06   ` Benny Halevy
2007-01-22 15:05     ` Douglas Gilbert
2007-01-22 15:31       ` James Bottomley [this message]
2007-01-23 13:37       ` Benny Halevy
2007-01-22 21:53     ` William Studenmund
2007-01-22  5:29 ` Muli Ben-Yehuda
2007-01-23 13:45   ` Benny Halevy
2007-01-23 14:37     ` Muli Ben-Yehuda
2007-01-23 15:17       ` Benny Halevy

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=1169479903.2769.20.camel@mulgrave.il.steeleye.com \
    --to=james.bottomley@steeleye.com \
    --cc=Daniel.E.Messinger@seagate.com \
    --cc=LIRANS@il.ibm.com \
    --cc=bhalevy@panasas.com \
    --cc=bharrosh@panasas.com \
    --cc=dougg@torque.net \
    --cc=hch@infradead.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=open-iscsi@googlegroups.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.