On Mon, 2008-05-12 at 23:12 +0200, Krzysztof Lichota wrote: > Sorry about that. It just got lost in my mailbox. > And about lack of feedback, I meant feedback from users. The kernel > has been downloaded 280+ times and I got something like 2 reports from > users. I don't know if it works or if it crashes somebody's machines. > Glad to get back in contact!
I tend to assume that if people aren't complaining, that they're happy ;) If it was crashing their machines, I'm sure you'd know about it. > > Problem with prefetch is that it's quite a lot of code, in different > > places, and zero documentation on how it works and which bit does what. > > I agree the documentation needs to be improved. I will add description > of implementation in project wiki. The comparison with other > prefetching solutions would also clear up things a bit. > That would be very useful, the 1000ft overview helps people find their own answers to their questions > > For example, how does it determine which blocks need prefetching? > > It monitors page cache to see which pages are used by processes. > What's the "it" in this case? The kernel module? > > 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? Shouldn't this be /etc/prefetch? :) > > What decides when to load blocks? > > Blocks are loaded when application starts (for application > prefetching) or when appropriate boot script is started (for boot > prefetching). > What determines whether there is a prefetch file for that application? What keeps that up to date? > > 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? > > Could we use the lists to sort the LiveCD filesystem generation? > > It depends what you want to do with it. If you want to feed the list > to mksquashfs, it can be done. If you want to add prefetching list to > live CD, this would be harder, as inode numbers are generated during > generation of SquashFS image. > I guess we'd want to order the SquashFS itself, a bit like pre-defrag ;) > > Could we use the lists to sort the order in which we copy files during > > the install? > > You mean to copy in such order that after boot from disk the system > boots faster? > This is interesting issue. The list contains page ranges and I am not > aware of any tool which allows to specify which ranges of files to > copy and when. The ext3 allocator would reorganize it anyway. IMO > running my reordering tool after copying would be simpler. > Ok. 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