Re: [11/36] Use page_cache_xxx in fs/buffer.c

Christoph Lameter
2007-08-31T07:33:44Z

On Fri, 31 Aug 2007, Jens Axboe wrote:

> > A DMA boundary cannot be crossed AFAIK. The compound pages are aligned to
> > the power of two boundaries and the page allocator will not create pages
> > that cross the zone boundaries.
>
> With a 64k page and a dma boundary of 0x7fff, that's two segments.

Ok so DMA memory restrictions not conforming to the DMA zones? The
example is a bit weird. DMA only to the first 32k of memory? If the limit
would be higher like 16MB then we would not have an issue. Is there really
a device that can only do I/O to the first 32k of memory?

How do we split that up today? We could add processing to submit_bio to
check for the boundary and create two bios.

> > submit_bh() is used to submit a single buffer and I think that was our
> > main concern here.
>
> And how large can that be?

As large as mkxxxfs allowed it to be. For XFS and extX with the current
patchset 32k is the limit (64k with the fixes to ext2) but a new
filesystem could theoretically use a larger blocksize.