[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070831072611.GK29452@kernel.dk>
Date: Fri, 31 Aug 2007 09:26:11 +0200
From: Jens Axboe <jens.axboe@...cle.com>
To: Christoph Lameter <clameter@....com>
Cc: Dmitry Monakhov <dmonakhov@...ru>, torvalds@...ux-foundation.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@....de>, Mel Gorman <mel@...net.ie>,
William Lee Irwin III <wli@...omorphy.com>,
David Chinner <dgc@....com>,
Badari Pulavarty <pbadari@...il.com>,
Maxim Levitsky <maximlevitsky@...il.com>,
Fengguang Wu <fengguang.wu@...il.com>,
swin wang <wangswin@...il.com>, totty.lu@...il.com,
"H. Peter Anvin" <hpa@...or.com>, joern@...ybastard.org,
"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: Re: [11/36] Use page_cache_xxx in fs/buffer.c
On Fri, Aug 31 2007, Christoph Lameter wrote:
> On Fri, 31 Aug 2007, Jens Axboe wrote:
>
> > > Could you be more specific?
> >
> > Size of a single segment, for instance. Or if the bio crosses a dma
> > boundary. If your block is 64kb and the maximum segment size is 32kb,
> > then you would need to clone the bio and split it into two.
>
> 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.
> It looks like the code will correctly signal a failure if you try to write
> a 64k block on a device with a maximum segment size of 32k. Isnt this
> okay? One would not want to use a larger block size than supported by the
> underlying hardware?
That's just the size in sectors limitation again. And that also needs to
be handled, the fact that it currently errors out is reassuring but
definitely a long term solution. You don't want to knowingly setup such
a system where the fs block size is larger than what the hardware would
want, but it should work. You could be moving hardware around, for
recovery or otherwise.
> > Things like that. This isn't a problem with single page requests, as we
> > based the lower possible boundaries on that.
>
> submit_bh() is used to submit a single buffer and I think that was our
> main concern here.
And how large can that be?
--
Jens Axboe
-
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