Announcement: Kernel with automatic boot tracing and prefetching available for testing (GSoC 2007)

Phillip Susi psusi at
Mon Aug 13 17:39:57 UTC 2007

Krzysztof Lichota wrote:
> Hello everyone.
> I am working this summer on "Automatic boot and application start file
> prefetching" project as part of Google Summer of Code for Ubuntu.
> I am glad to announce that first version of kernel with automatic boot
> tracing and prefetching is available for widespread testing :)
> How it works?
> - During boot file accesses are recorded.
> - During subsequent boots this trace is used to prefetch files before
> they are used in order to speed up boot.

How is the data prefetched?  I know that the readahead package used the 
readahead() system call to load entire files that were accessed during 
boot.  This is sub optimal because often times the entire file is not 
needed, only certain pages of it.  Also the readahead was done 
synchronously one file at a time, which does not keep the disk at full 
utilization.  Ideally you just want to read in the required pages, in 
the order in which they are required, with several asynchronous requests 
in the queue at a time.  You also want to wait until some of the data is 
read before continuing with the boot process, but you don't want to wait 
until ALL of it is read.

Does your approach address any of these issues?

More information about the Ubuntu-devel-discuss mailing list