login
Header Space

 
 

Re: [PATCH prototype] [0/8] Predictive bitmaps for ELF executables

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Ulrich Drepper <drepper@...>
Cc: <andi@...>, <linux-kernel@...>, <linux-mm@...>
Date: Wednesday, March 19, 2008 - 7:12 pm

On Wed, 19 Mar 2008 15:45:16 -0700
"Ulrich Drepper" <drepper@gmail.com> wrote:


yes, ultimately we'd end up pulling in most of the executable that way, and
a 90%-good-enough solution is perhaps to just suck the whole thing into
pagecache.

I did some work on that many years ago and I do recall that it helped, but
I forget how much.

There's a very very easy way of testing this though.  filemap_fault()
_already_ does readaround when it gets a major fault.  And this is tunable
via /sys/block/sda/queue/read_ahead_kb.  So set that to "infinity" to pull
the whole file into pagecache at the first major fault and run some
benchmarks.

If that proves useful we could look at separating read()'s readahead
tunable from filemap_fault()'s tunable.

Note!  Due to interaction between the linker and common filesystems,
executables tend to be very poorly laid out on disk: the blocks are
out-of-order, often grossly.  So one shouldn't do performance testing of
this form against executable files which were written directly by
/usr/bin/ld.  First use `cp' to straighten the file out..


bitmap-based madvise() or fadvise() sounds pretty easy to do.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH prototype] [8/8] Add mmap_full_slurp support, Andi Kleen, (Mon Mar 17, 9:09 pm)
[PATCH prototype] [1/8] Give ELF shdr types a name, Andi Kleen, (Mon Mar 17, 9:09 pm)
Re: [PATCH prototype] [0/8] Predictive bitmaps for ELF execu..., Andrew Morton, (Wed Mar 19, 7:12 pm)
speck-geostationary