Re: [RFC] - Some notions that I would like comments on

Jeremy Fitzhardinge (jeremy@goop.org)
Mon, 19 Jul 1999 14:37:27 -0700 (PDT)


On 19-Jul-99 Jamie Lokier wrote:
> Jeremy Fitzhardinge wrote:
>> I'm doing some work at the moment to restructure ELF files so that
>> read-ahead is always the best thing to do. It collects usage
>> statistics on the ELF file, and regroups it so that the pages appear
>> on disk in the order in which they're used. This is primarily useful
>> for speeding up the initial flurry of demand loading when you start up
>> something big (eg, netscape).
>
> How do you regroup the ELF file?
> By reordering disk blocks, or by changing the contents?

Initially I hoped that the filesystem would lay out blocks linearly on disk in
the order which I wrote them, so I could merely rewrite the executable in the
access order. This would have made use of disk readahead, but not necessarily
filesystem readahead. Unfortunately I found this made little difference, but I
haven't really looked into exactly how ext2 does its layout.

My current approach is to reorganize the ELF file itself. This is naturally
more complex, but it does take advantage of the typical assumptions made in
filesystem layout algorithms. Unfortunately it does generate rather atypical
ELF files (hundreds of loadable segments), and I think I'm running into bugs in
the libc dynamic linker.

Ideally this stuff would be done in linker with profile feedback, but this is
an experiment to see what difference it really makes. I'm curious to see if
all the mappings slows down runtime much too (which is really a test of the AVL
code).

J

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/