[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.0806211050390.18735-100000@netrider.rowland.org>
Date: Sat, 21 Jun 2008 10:54:40 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Andi Kleen <andi@...stfloor.org>
cc: Kernel development list <linux-kernel@...r.kernel.org>,
AntonioLin <antonio.lin@...ormicro.com>,
David Vrabel <david.vrabel@....com>
Subject: Re: Scatter-gather list constraints
On Sat, 21 Jun 2008, Andi Kleen wrote:
> Alan Stern <stern@...land.harvard.edu> writes:
>
> > This question arises in connection with wireless USB mass-storage
> > devices. The controller driver requires that all DMA segments
> > in a transfer, other than the last one, have a multiple of 1024 bytes.
> > But we're sometimes getting s-g lists where an element contains an odd
> > number of 512-byte sectors, and of course it doesn't work.
>
> But you can handle a single 512 byte request?
Yes. And we can handle a list containing a bunch of 1024-byte segments
terminated by a single 512-byte segment.
> Splitting the request
> in this case should work. Or maybe copying is cheaper than splitting?
Splitting would work. But it has to be done fairly high up in the
stack, ideally in the block layer.
> I don't think the block layer knows about such kinds of restrictions.
Evidently not. Is it feasible to add such knowledge to the block
layer?
Alan Stern
--
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