[rfc] boot-time async readahead...
Scott James Remnant
scott at canonical.com
Thu Feb 12 14:46:17 GMT 2009
On Thu, 2009-02-12 at 00:44 -0500, John Moser wrote:
> On 2/11/09, Daniel J Blueman <daniel.blueman at gmail.com> wrote:
> > By modifying the boot-time readahead to be at lower I/O and processor
> > priority than the boot scripts and asynchronous, I see a 20% reduction
> > in overall boot time (from installing bootchart) on my desktop: 41s
> > down to 33s.
>
>
> A while back I pointed out that the file list for read-ahead was
> sorted by block rather than boot sequence; and that by leaving it
> sorted by boot sequence (i.e. first read == first need) and
> parallelling it you would necessarily have exactly two states: 1)
> waiting for a file readahead is trying to read anyway; 2) readahead is
> ahead of you because the rest of the boot process has spent some time
> CPU bound and not touching I/O. Also, it's likely as soon as you
> enter state (2) that you stay there-- which is to say, almost
> immediately.
>
Not true at all.
Remember that in the rotary disk case, it's not just I/O wait that kills
you, but it's also the seek time of the disk.
If the readahead list is sorted in need order, and run alongside other
I/O activity, the disk is seeking all over the place.
When sorted by block order, and run in one pass, the seek time should be
eliminated.
Again, this all depends on _your_ disk.
Nobody other than Martin is following up with bootcharts[0] -- and his
shows that parallel is a little worse then sync.
The archives of ubuntu-devel will show my own investigation on this at
the time. In summary:
Sync is *always* better than no readahead at all.
Parallel is *sometimes* better than no readahead, but in various cases
is actually _worse_.
When Parallel is not worse then no readahead, it is better than sync.
Since the out-of-the-box has to work for everyone, I chose sync.
If you have a very fast rotary disk (which Martin doesn't :p) or SSD,
you definitely want parallel. But I'd then also recommend using
sreadahead instead of readahead-list.
I have some packages of sreadahead pending upload; but they require a
kernel patch.
Scott
[0] though I should follow up with Martin OOB, because there's something
very wrong with his machine ;)
--
Scott James Remnant
scott at canonical.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/ubuntu-motu/attachments/20090212/d91a4db8/attachment.pgp
More information about the Ubuntu-motu
mailing list