From: Jens Axboe <axboe@suse.de>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Patrick Mansfield <patmans@us.ibm.com>,
Douglas Gilbert <dougg@torque.net>,
James Bottomley <James.Bottomley@steeleye.com>,
Oliver Neukum <oliver@neukum.org>,
SCSI development list <linux-scsi@vger.kernel.org>,
USB development list <linux-usb-devel@lists.sourceforge.net>
Subject: Re: Unaligned scatter-gather buffers and usb-storage
Date: Wed, 19 Nov 2003 16:49:11 +0100 [thread overview]
Message-ID: <20031119154911.GM1106@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0311191033300.957-100000@ida.rowland.org>
On Wed, Nov 19 2003, Alan Stern wrote:
> On Wed, 19 Nov 2003, Jens Axboe wrote:
>
> > The queue already has such a restriction embedded, see bio_map_user()
> > and queue_dma_alignment().
>
> Searching through the 2.6 kernel source gave some interesting results.
>
> queue_dma_alignment() does nothing but set the dma_alignment field of the
> request queue structure. The _only_ place this field is used is in
> fs/bio.c by __bio_map_user(), called from bio_map_user(). In turn, the
> _only_ place bio_map_user() is called is from drivers/block/scsi_ioctl.c,
> and that's only for a certain specific type of SCSI ioctl. It's not on
It's for SG_IO.
> any main code path, and it wouldn't get invoked by anything using the st
> or sg drivers. In fact, it looks like scsi_ioctl.c:scsi_cmd_ioctl() is
> only called from within the sd driver.
It's invoked from user space. Don't mix block and scsi scsi_ioctl() up.
bio_map_user() would be used by a block layer sg driver too, for
instance.
> So something needs to be fixed up. Is there some spot in the block layer
> that's supposed to be checking dma alignments but isn't doing so?
The queue dma alignment was added to better cater to cdrecord, for
instance. We need better than 512b granularity there, or you cannot use
DMA on certain types of burns (lots of sector types are non-2kb aligned
there).
If you can 512-byte align the data and transfer from user space, _that
is enough_. The program just needs to be aware of this, it's not an odd
restriction. There are just scenarious where you cannot do this, and
that is why I added the queue dma alignment attribute. To me, it doesn't
sound like your case applies.
--
Jens Axboe
next prev parent reply other threads:[~2003-11-19 15:49 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1068207145.3fab8c2988d43@webmail.netregistry.net>
2003-11-07 16:21 ` usb-storage and Sony Handycam Alan Stern
2003-11-07 17:29 ` Patrick Mansfield
2003-11-07 19:49 ` Alan Stern
2003-11-08 2:54 ` Dmitri Katchalov
2003-11-08 6:34 ` Patrick Mansfield
2003-11-08 13:29 ` Dmitri Katchalov
2003-11-08 16:28 ` Alan Stern
2003-11-08 20:37 ` Patrick Mansfield
2003-11-09 3:47 ` [linux-usb-devel] " Alan Stern
2003-11-09 8:45 ` Dmitri Katchalov
2003-11-10 20:45 ` Patrick Mansfield
2003-11-10 17:59 ` Patrick Mansfield
2003-11-10 18:46 ` Alan Stern
2003-11-10 19:04 ` [linux-usb-devel] " Patrick Mansfield
2003-11-10 19:57 ` Alan Stern
2003-11-10 22:46 ` Sancho Dauskardt
2003-11-18 15:20 ` Unaligned scatter-gather buffers and usb-storage Alan Stern
2003-11-18 22:37 ` Patrick Mansfield
2003-11-19 8:47 ` Jens Axboe
2003-11-19 13:01 ` [linux-usb-devel] " Oliver Neukum
2003-11-19 13:04 ` Jens Axboe
2003-11-19 14:37 ` James Bottomley
2003-11-19 14:39 ` Jens Axboe
2003-11-19 14:58 ` James Bottomley
2003-11-19 15:00 ` [linux-usb-devel] " Jens Axboe
2003-11-19 16:56 ` Kai Makisara
2003-11-19 20:19 ` Jens Axboe
2003-11-19 22:06 ` Kai Makisara
2003-11-20 6:53 ` Jens Axboe
2003-11-20 15:20 ` Alan Stern
2003-11-20 15:30 ` Jens Axboe
2003-11-20 16:09 ` Alan Stern
2003-11-20 16:24 ` Jens Axboe
2003-11-20 16:28 ` [linux-usb-devel] " Oliver Neukum
2003-11-20 19:23 ` Kai Makisara
2003-11-20 17:18 ` Kai Makisara
2003-11-20 19:18 ` [linux-usb-devel] " Kai Mäkisara
2003-11-21 18:03 ` PATCH: (as141) " Alan Stern
2003-11-21 20:07 ` Kai Makisara
2003-12-01 1:30 ` Matthew Dharm
2004-01-05 0:41 ` Matthew Dharm
2004-01-05 10:08 ` Jens Axboe
2004-01-05 21:58 ` PATCH: (as141b) " Alan Stern
2004-01-06 11:28 ` Oliver Neukum
2004-01-06 16:10 ` Alan Stern
2004-02-02 15:51 ` James Bottomley
2004-02-03 15:47 ` Alan Stern
2004-02-03 15:55 ` James Bottomley
2004-02-03 16:02 ` Matthew Wilcox
2003-11-19 15:44 ` Alan Stern
2003-11-19 15:49 ` Jens Axboe [this message]
2003-11-19 16:58 ` Alan Stern
2003-11-19 17:03 ` Jens Axboe
2003-11-07 22:09 ` usb-storage and Sony Handycam Alan Stern
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=20031119154911.GM1106@suse.de \
--to=axboe@suse.de \
--cc=James.Bottomley@steeleye.com \
--cc=dougg@torque.net \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=oliver@neukum.org \
--cc=patmans@us.ibm.com \
--cc=stern@rowland.harvard.edu \
/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;
as well as URLs for NNTP newsgroup(s).