Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE)

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andrea Arcangeli <andrea@...>
Cc: David Chinner <dgc@...>, <linux-kernel@...>
Date: Wednesday, July 11, 2007 - 8:12 pm

On Tue, Jul 10, 2007 at 12:11:48PM +0200, Andrea Arcangeli wrote:

Sure, but now we waste more memory on small files....


The difference is that we can use different blocksizes even
within the one filesystem for small and large files with a
variable page cache. We can't do that with a fixed page size.


Not really. If I want a inode cache, it always needs to be 8k based.
If I want a directory cache, it needs to be one of 4k, 8k, 16k, 32k or 64k.
in the same filesystem. the data block size is different again to the
directory block size and the inode block size.

This is where the variable page cache wins hands down. I don't need
to care what page size someone built their kernel with, the file
system can be moved between different page size kernels and *still work*.


FWIW, I don't really care all that much about huge HPC machines. Most
of the systems I deal with are 4-8 socket machines with tens to hundreds of
TB of disk. i.e. small CPU count, relatively small memory (64-128GB RAM)
but really large storage subsystems.

I need really large filesystems that contain both small and large files to
work more efficiently on small boxes where we can't throw endless amounts of
RAM and CPUs at the problem.  Hence things like 64k page size are just not an
option because of the wastage that it entails.


See, that's where variable page cache is so good - I don't need to
move everything to 64k block size. We can *easily* do variable
data block size in the filesystem because it's all extent based,
so this really isn't an issue for us on disk. Just changing the
base page size doesn't give us the flexibility we need in memory
to do this....


Me? I'm a just filesystems weenie, not a vm guru. I don't care about
academic mathematical proof for a defrag algorithm - I just want
something that works. It's the "something that works" that has been
done before....

i.e. I'm not wedded to large pages in the page cache - what I
really, really want is an efficient variable order page cache that
doesn't have any vmap overhead. I don't really care how it is
implemented, but changing the base page size doesn't meet the
"efficiency" or "flexibility" requirement I have.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Fri Jul 6, 6:26 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Matt Mackall, (Thu Jul 12, 1:53 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Thu Jul 12, 9:06 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), David Chinner, (Sun Jul 8, 7:20 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Tue Jul 10, 6:11 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), David Chinner, (Wed Jul 11, 8:12 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Thu Jul 12, 7:14 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), David Chinner, (Thu Jul 12, 10:44 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Thu Jul 12, 12:31 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Dave Hansen, (Thu Jul 12, 12:34 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), David Chinner, (Fri Jul 13, 3:13 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Fri Jul 13, 10:31 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), David Chinner, (Sun Jul 15, 8:27 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Dave Kleikamp, (Fri Jul 13, 10:08 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Jan Engelhardt, (Sat Jul 7, 2:53 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Sun Jul 8, 5:52 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Rik van Riel, (Sat Jul 7, 4:34 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Paul Mackerras, (Sat Jul 7, 3:01 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Sat Jul 7, 6:25 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Badari Pulavarty, (Fri Jul 6, 9:47 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Sat Jul 7, 6:12 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Badari Pulavarty, (Fri Jul 6, 9:36 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Dave Hansen, (Fri Jul 6, 7:33 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Fri Jul 6, 7:52 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), William Lee Irwin III, (Tue Jul 17, 1:47 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Tue Jul 17, 3:33 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), William Lee Irwin III, (Wed Jul 18, 9:32 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Tue Jul 24, 3:44 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), William Lee Irwin III, (Tue Jul 24, 11:20 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Wed Jul 25, 10:39 am)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), William Lee Irwin III, (Wed Jul 25, 1:56 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Rene Herman, (Wed Jul 18, 12:34 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Andrea Arcangeli, (Wed Jul 18, 7:50 pm)
Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE), Rene Herman, (Wed Jul 18, 8:53 pm)