From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Lameter Subject: Re: [11/36] Use page_cache_xxx in fs/buffer.c Date: Fri, 31 Aug 2007 00:33:30 -0700 (PDT) Message-ID: References: <20070828190551.415127746@sgi.com> <20070828190730.220393749@sgi.com> <20070830092038.GD22586@dnb.sw.ru> <20070831065613.GH29452@kernel.dk> <20070831071142.GI29452@kernel.dk> <20070831072611.GK29452@kernel.dk> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Dmitry Monakhov , torvalds@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Christoph Hellwig , Mel Gorman , William Lee Irwin III , David Chinner , Badari Pulavarty , Maxim Levitsky , Fengguang Wu , swin wang , totty.lu@gmail.com, "H. Peter Anvin" , joern@lazybastard.org, "Eric W. Biederman" To: Jens Axboe Return-path: Received: from netops-testserver-3-out.sgi.com ([192.48.171.28]:41051 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750756AbXHaHdc (ORCPT ); Fri, 31 Aug 2007 03:33:32 -0400 In-Reply-To: <20070831072611.GK29452@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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.