On Tue, 2008-05-13 at 14:07 +0200, Krzysztof Lichota wrote: > > > > Where/how are these lists of blocks stored? > > > > > > They are stored in /prefetch directory as prefetch lists for each > > > traced app and for boot stages. > > > Each file contains list of tuples (device, inode, start-in-pages, > > > length-in-pages) which describe what to prefetch. > > > > > What creates these files? A userspace daemon or the kernel module > > itself? Is this a real filesystem or a virtual one? > > The kernel module writes it. For boot prefetching, userspace script > processes the lists as they are merged and sorted for last 3 runs. > I noticed that you get lists (in /) for the phases, but files in /prefetch for applications named PATH-stamp?
Could you give a little more detail on what files to expect, and what the content/format of those files are? > > > > What if the filesystem isn't mounted yet (/usr), how can the loading > > be > > > > staged? > > > > > > Boot prefetching is split into 3 phases: initial boot (with only root > > > mounted), boot with all partitions mounted and GUI boot. Each stage > > > has separate prefetching list. > > > > > How are these phases delineated? Does the kernel need to be told what > > stage it is in, or does userspace determine which set of prefetch files > > may be used? > > Init scripts (similar to readahead scripts) are run and they tell > kernel module which files to load and when. > So boot prefetching can be easily changed by modifying these scripts, > without touching the kernel part. > I noticed the phases stuff. Have you considered instead using cgroups to collate them? Phases are divided by time, which becomes problematic with a boot sequence running in parallel. A cgroups subsystem for prefetch would solve this, since cgroups are inherited from parent to child. E.g. * rcS is placed into the "boot" cgroup (thus all apps run by it are) * rc2 is placed into the "system" cgroup * gdm is placed into the "gui" cgroup You can then still generate app prefetch lists for individual apps (since apache can be started by hand, _and_ by rc2). But also we can generate combined lists for each cgroup. Scott -- Scott James Remnant [EMAIL PROTECTED]
signature.asc
Description: This is a digitally signed message part
-- Ubuntu-devel-discuss mailing list Ubuntu-devel-discuss@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss