Boot poster challenge
karl.vogel at telenet.be
karl.vogel at telenet.be
Sat Nov 20 18:49:12 UTC 2004
Arjan van de Ven <arjanv at redhat.com> writes:
> On Thu, 2004-11-18 at 12:06 +0100, Ziga Mahkovec wrote:
>> On Thu, 2004-11-18 at 08:36 +0100, Arjan van de Ven wrote:
>> > > There's a 20 MB load of files in your readahead list and they are being
>> > > read for 15 seconds. I guess a 26.60 MB/sec 'hdparm -t' suggests room
>> > > for improvement? Note that this is on a 4200 RPM drive.
>> >
>> > hmm yeah there ought to be room; I'll need to think about how to use that
>> > though.
>>
>> Yeah I guess the fact that disk caches are loaded on a per-file basis
>> doesn't help either. Because in theory: stat-ing your list takes about
>> 3 sec and readahead on a tarball is instantaneous (both of course
>> without boot-time readahead).
>
> ok here is another try; I hacked up a tool to sort the list in disk
> order.
>
> use it like this:
>
> make fileblock
> fileblock `cat readfiles` | sort -n | cut -f2 > sortedfiles
>
> and use sortedfiles as filelist for readahead as before
I'm wondering..
What would be the most efficient: readahead of files or readahead of
diskblocks?!
ie.. I was thinking of the following:
Have the kernel dump the I/O blocks to the kernel log (klogd shouldn't
be running for obvious reasons):
# echo 1 >/proc/sys/vm/block_dump
Then using that list to preload the blocks at startup (using
POSIX_FADV_RANDOM on the block device to prevent it from doing
a readahead).
More information about the fedora-devel-list
mailing list