[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1195502068.6970.3.camel@pasglop>
Date: Tue, 20 Nov 2007 06:54:28 +1100
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: James Bottomley <James.Bottomley@...senPartnership.com>
Cc: Matthew Wilcox <matthew@....cx>,
Linux Kernel list <linux-kernel@...r.kernel.org>,
linux-scsi <linux-scsi@...r.kernel.org>,
Russell King <rmk@....linux.org.uk>
Subject: Re: SCSI breakage on non-cache coherent architectures
On Mon, 2007-11-19 at 09:09 -0600, James Bottomley wrote:
> > What other drivers do is DMA to their own allocation and then memcpy to
> > the sense buffer.
> >
> > There is a movement to allocate the sense data as its own sg list, but
> > I don't think that patch has even been posted yet.
>
> I'd like to be rid of it inside the command for various reasons: every
> command has one of these, and they're expensive in the allocation (at 96
> bytes). There's no reason we have to allocate and free that amount of
> space with every command. In theory, the number of these is bounded at
> the queue depth, in practice, there's usually only one, and this DMA
> alignment issue does requires most drivers to double copy.
And most drivers don't and break. Take USB storage, I -think- (code path
aren't trivial to follow) it just gets the sglist cooked up by the code
in scsi_error.c no ? That just points to the buffer in scsi_cmnd. It
then pass that for DMA to the USB stack.
Ben.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists