login
Header Space

 
 

Re: [00/17] Large Blocksize Support V3

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Eric W. Biederman <ebiederm@...>
Cc: David Chinner <dgc@...>, Theodore Tso <tytso@...>, Andrew Morton <akpm@...>, <clameter@...>, <linux-kernel@...>, Mel Gorman <mel@...>, Jens Axboe <jens.axboe@...>, Badari Pulavarty <pbadari@...>, Maxim Levitsky <maximlevitsky@...>
Date: Tuesday, May 8, 2007 - 4:49 am

On Mon, May 07, 2007 at 12:06:38AM -0700, William Lee Irwin III wrote:

This should probably have memcpy to/from pagearrays. Whole-hog read
and write f_op implementations would be good, too, since ISTR some
drivers basically do little besides that on their internal buffers.

vmap_pagearray() should take flags, esp. VM_IOREMAP but perhaps also
protections besides PAGE_KERNEL in case uncachedness is desirable. I'm
not entirely sure what it'd be used for if discontiguity is so heavily
supported. My wild guess is drivers that do things that are just too
weird to support with the discontig API, since that's how I used it.
It should support vmap()'ing interior sub-ranges, too.

The pagearray mmap() support is schizophrenic as to whether it prefills
or faults and not all that complete as far as manipulating the mmap()
goes. Shooting down ptes, flipping pages, or whatever drivers actually
do with the things should have helpers arranged. Coherent sets of
helpers for faulting vs. mmap()'ing idioms would be good.

pagearray_to_scatterlist() should probably take the scatterist as an
argument instead of allocating the scatterlist itself.

Something to construct bio's from pagearrays might help.

s/page_array/pagearray/g should probably be done. Prefixing with
pagearray_ instead of randomly positioning it within the name would
be good, too.

Some working API conversions on drivers sound like a good idea. I had
some large number of API conversions about, now lost, but they'd be
bitrotted anyway.

struct pagearray is better off as an opaque type so large pagearray
handling can be added in later via radix trees or some such, likewise
for expansion and contraction. Keeping drivers' hands off the internals
is just a good idea in general.

I'm somewhat less clear on what filesystems need to do here, or if it
would be useful for them to efficiently manipulate data inside a
large block that spans multiple discontiguous pages. I expect some
changes are needed at the very least to fill a pagearray with whatever
predetermined pages are needed. Filesystems probably need other changes
to handle sparse pagearrays and refilling pages within them via IO.


-- wli
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[00/17] Large Blocksize Support V3, , (Tue Apr 24, 6:21 pm)
Re: [00/17] Large Blocksize Support V3, Maxim Levitsky, (Sat Apr 28, 12:39 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Mon Apr 30, 1:23 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Thu Apr 26, 10:04 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Thu Apr 26, 10:27 pm)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Thu Apr 26, 10:53 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 12:20 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 1:15 am)
Re: [00/17] Large Blocksize Support V3, Theodore Tso, (Fri Apr 27, 12:55 pm)
Re: [00/17] Large Blocksize Support V3, Nicholas Miell, (Fri Apr 27, 1:32 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 2:12 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 2:09 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 3:04 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 4:03 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Fri May 4, 9:31 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Mon May 7, 12:58 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Mon May 7, 2:56 am)
RE: [00/17] Large Blocksize Support V3, Weigert, Daniel, (Mon May 7, 11:17 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri May 4, 12:11 pm)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 4:48 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Fri May 4, 8:57 am)
Re: [00/17] Large Blocksize Support V3, Theodore Tso, (Fri Apr 27, 12:45 pm)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Fri May 4, 9:33 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Mon May 7, 12:29 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Mon May 7, 12:48 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Mon May 7, 1:27 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Mon May 7, 2:43 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Mon May 7, 12:06 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Mon May 7, 1:29 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Mon May 7, 2:49 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Mon May 7, 3:06 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Tue May 8, 4:49 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 1:49 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 2:55 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 9:44 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 3:15 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 10:21 pm)
Re: [00/17] Large Blocksize Support V3, Paul Mackerras, (Fri Apr 27, 7:05 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 7:58 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 7:41 am)
Re: [00/17] Large Blocksize Support V3, Paul Mackerras, (Fri Apr 27, 8:14 am)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Fri Apr 27, 9:42 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 8:36 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 8:12 am)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Fri Apr 27, 9:37 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 8:25 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 12:48 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Fri Apr 27, 9:39 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 10:27 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Sat Apr 28, 4:16 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 10:39 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 10:50 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 11:16 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 3:22 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 3:29 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 3:35 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 3:43 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 3:19 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 3:26 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 12:36 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 1:34 pm)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Fri Apr 27, 3:11 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 11:17 pm)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 12:56 am)
Re: [00/17] Large Blocksize Support V3, Alan Cox, (Sat Apr 28, 5:43 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 5:58 am)
Re: [00/17] Large Blocksize Support V3, Alan Cox, (Sat Apr 28, 6:21 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 6:25 am)
Re: [00/17] Large Blocksize Support V3, Alan Cox, (Sat Apr 28, 7:29 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Sat Apr 28, 10:37 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Sat Apr 28, 1:08 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 1:36 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Sat Apr 28, 2:24 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 2:52 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Mon Apr 30, 1:30 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 11:49 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 9:43 pm)
Re: [00/17] Large Blocksize Support V3, Peter Zijlstra, (Sat Apr 28, 4:04 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 4:22 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Sat Apr 28, 10:09 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 2:26 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Sat Apr 28, 3:19 pm)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 5:28 pm)
Re: [00/17] Large Blocksize Support V3, Peter Zijlstra, (Sat Apr 28, 4:32 am)
Re: [00/17] Large Blocksize Support V3, Andrew Morton, (Sat Apr 28, 4:55 am)
Re: [00/17] Large Blocksize Support V3, Peter Zijlstra, (Sat Apr 28, 5:36 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Fri Apr 27, 8:01 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Fri Apr 27, 4:37 am)
Re: [00/17] Large Blocksize Support V3 (mmap conceptual disc..., Christoph Lameter, (Thu Apr 26, 11:47 pm)
Re: [00/17] Large Blocksize Support V3, Maxim Levitsky, (Thu Apr 26, 2:50 pm)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 12:51 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 1:05 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 1:44 am)
Re: [00/17] Large Blocksize Support V3, Pierre Ossman, (Sat Apr 28, 6:55 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Sat Apr 28, 11:39 am)
Re: [00/17] Large Blocksize Support V3, Alan Cox, (Thu Apr 26, 9:28 am)
Re: [00/17] Large Blocksize Support V3, Matt Mackall, (Sun Apr 29, 10:12 am)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 9:30 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:37 am)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 5:16 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 2:38 am)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Thu Apr 26, 11:58 am)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 12:05 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Thu Apr 26, 12:16 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:46 am)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 6:06 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 10:47 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 2:57 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 1:37 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:40 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 2:53 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 3:07 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 3:15 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 3:22 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 10:49 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 3:42 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:13 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 6:15 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 10:53 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 2:21 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 8:32 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 6:22 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 8:58 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 9:06 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Fri Apr 27, 10:49 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:16 pm)
Re: [00/17] Large Blocksize Support V3, Andy Whitcroft, (Thu Apr 26, 8:37 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 11:08 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Thu Apr 26, 11:28 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 11:19 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Thu Apr 26, 10:18 am)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 6:48 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Thu Apr 26, 3:04 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 3:07 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 3:11 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 3:17 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 3:28 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 3:45 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:10 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 6:08 am)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Thu Apr 26, 2:38 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 6:10 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:07 pm)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 2:45 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:59 pm)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 3:21 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Thu Apr 26, 9:50 am)
Re: [00/17] Large Blocksize Support V3, Jeremy Higdon, (Thu Apr 26, 8:19 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 11:38 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 11:58 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 5:46 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 10:40 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 2:50 am)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Thu Apr 26, 12:11 pm)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 6:38 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 1:49 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:03 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 2:03 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Thu Apr 26, 2:09 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 2:12 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:28 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 2:29 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 2:35 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 2:39 pm)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 4:22 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Fri Apr 27, 1:16 am)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Thu Apr 26, 8:21 pm)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 3:35 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 3:42 pm)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Fri Apr 27, 12:05 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Fri Apr 27, 6:26 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Fri Apr 27, 9:51 am)
Re: [00/17] Large Blocksize Support V3, Christoph Hellwig, (Thu Apr 26, 2:24 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 2:24 pm)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 4:40 am)
Re: [00/17] Large Blocksize Support V3, Nick Piggin, (Thu Apr 26, 4:55 am)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 6:30 am)
Re: [00/17] Large Blocksize Support V3, Eric W. Biederman, (Thu Apr 26, 6:54 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Thu Apr 26, 1:58 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Thu Apr 26, 2:02 pm)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Thu Apr 26, 8:23 am)
Re: [00/17] Large Blocksize Support V3, H. Peter Anvin, (Tue Apr 24, 8:47 pm)
Re: [00/17] Large Blocksize Support V3, Mel Gorman, (Wed Apr 25, 9:28 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Wed Apr 25, 11:23 am)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Wed Apr 25, 7:35 am)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Wed Apr 25, 11:36 am)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Wed Apr 25, 1:53 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Wed Apr 25, 2:03 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Wed Apr 25, 2:05 pm)
Re: [00/17] Large Blocksize Support V3, Christoph Lameter, (Wed Apr 25, 2:14 pm)
Re: [00/17] Large Blocksize Support V3, Jens Axboe, (Wed Apr 25, 2:16 pm)
Re: [00/17] Large Blocksize Support V3, William Lee Irwin III, (Tue Apr 24, 11:11 pm)
Re: [00/17] Large Blocksize Support V3, Jörn, (Tue Apr 24, 8:46 pm)
Re: [00/17] Large Blocksize Support V3, Badari Pulavarty, (Wed Apr 25, 6:46 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Wed Apr 25, 9:14 pm)
Re: [00/17] Large Blocksize Support V3, David Chinner, (Wed Apr 25, 9:17 pm)
speck-geostationary