Messages in this thread | | | Date | Tue, 24 Jun 2008 10:57:13 -0400 (EDT) | From | Alan Stern <> | Subject | Re: Scatter-gather list constraints |
| |
On Tue, 24 Jun 2008, FUJITA Tomonori wrote:
> I don't think that the block layer has the DMA alignment concept in FS > I/O path. And I think that you need kinda the DMA padding instead the > DMA alignment though again The block layer doesn't have the DMA > padding concept in FS I/O path. And the DMA padding applies to only > the last SG element. > > I guess that it's pretty hard to implement such a strange restriction > in the block layer cleanly.
I don't see why there should be any problem. It's simply a matter of splitting a single request into multiple requests, at places where the length restriction would be violated.
For example, suppose an I/O request starts out with two S-G elements of 1536 bytes and 2048 bytes respectively, and the DMA requirement is that all elements except the last must have length divisible by 1024. Then the request could be broken up into three requests of 1024, 512, and 2048 bytes.
> The iSER driver has a strange restriction too. I think that as iSER > does, bouncing is a better option, though adding some generic > mechanism to reserve buffer in the block layer might be nice, I > gueess.
Is it reasonable to have 120-KB bounce buffers?
Alan Stern
| |