On Thu, 2004-12-02 at 12:40 -0500, David Zeuthen wrote: > > To me it makes more sense to look at this on the block level than on the > file level; remember, a lot the files in my readahead set stems from > stat'ing files - for example, there are more than 2200 distinct .png > files in my readahead set. We probably only need one sector from most of > those (the inode) rather than the entire file. > > I'm almost positive it requires kernel changes to do this the right way; > one naive idea is to have a userspace daemon, capturing what blocks are > read when (kernel tells this daemon using the kernel events layer). This > would run in the first three minutes on each and every boot. When the > system is idle (and only when running on AC power!) another daemon > rearranges blocks on the disk. What blocks to rearrange could be the > result of a computation involving several three-minute result sets. Stephen Tweedie mentioned some ideas for what could be done in the kernel to optimize this stuff, I don't know specifics. Havoc