On 01/30/2013 02:07 PM, Bill Nottingham wrote:
Miloslav Trmač (mitr(a)volny.cz) said:
> Teach grub to preload the kernel and initrd while waiting for
the
> timeout. That gives us _even better_ speedup, and doesn't sacrifice
> the generic usability of the initrd.
Well, if the plan is to not timeout, that won't help. But it
could be
interesting. Although, everything I've heard about the grub code makes
me entirely concerned when something that amounts to 'introduce threads'
is suggested.
Threads are not needed and not desired; the analog of SIGALRM works fine
single-threaded.
The problem is the possibility of I/O errors when reading ahead.
Recovery from an I/O error can take a very long time, and may be
not interruptable. For instance, the linux kernel can take _minutes_
to recover from CD/DVD errors, and grub might be no better.
If read-ahead (after no wait) on the default choice "always" runs into
trouble, then selecting some other choice might be impossible.
--