Announcement: Kernel with automatic boot tracing and prefetching available for testing (GSoC 2007)
psusi at cfl.rr.com
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