[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080626143928P.fujita.tomonori@lab.ntt.co.jp>
Date: Thu, 26 Jun 2008 14:39:31 +0900
From: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
To: stern@...land.harvard.edu
Cc: andi@...stfloor.org, linux-kernel@...r.kernel.org,
antonio.lin@...ormicro.com, david.vrabel@....com
Subject: Re: Scatter-gather list constraints
On Thu, 26 Jun 2008 11:06:03 +0900
FUJITA Tomonori <fujita.tomonori@....ntt.co.jp> wrote:
> On Wed, 25 Jun 2008 10:23:00 -0400 (EDT)
> Alan Stern <stern@...land.harvard.edu> wrote:
>
> > On Wed, 25 Jun 2008, FUJITA Tomonori wrote:
> >
> > > > 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.
> > >
> > > I can't say that it's easy to implement a clean mechanism to break up
> > > a request into multiple requests until I see a patch.
> >
> > And I can't write a patch without learning a lot more about how the
> > block core works.
> >
> > > What I said is that you think that this is about extending something
> > > in the block layer but it's about adding a new concept to the block
> > > layer.
> >
> > Is it? What does the block layer do when it receives an I/O request
> > that don't satisfy the other constraints (max_sectors or
> > dma_alignment_mask, for example)?
>
> As I explained, you need something new.
>
> I don't think that max_sectors works as you expect.
The block layer looks at max_sectors when merging two things (or add
one to another). So the test fails, it doesn't merge them.
> dma_alignment_mask is not used in the FS path. And I think that
> dma_alignment_mask doens't solve your problems.
If dma_alignment_mask test fails, the block layer allocates temporary
buffers and does memory copies.
--
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