Messages in this thread | | | Date | Sat, 24 Jan 2004 15:53:44 -0800 (PST) | From | Davide Libenzi <> | Subject | Re: Request: I/O request recording |
| |
On Sat, 24 Jan 2004, Andrew Morton wrote:
> Felix von Leitner <felix-kernel@fefe.de> wrote: > > > > I would like to have a user space program that I could run while I cold > > start KDE. The program would then record which I/O pages were read in > > which order. The output of that program could then be used to pre-cache > > all those pages, but in an order that reduces disk head movement. > > Demand Loading unfortunately produces lots of random page I/O scattered > > all over the disk. > > I wrote a similar thing in September of 2001. What you do is: > > - Reboot the system, wait until everything is steady-state (eg: X has > started, applications are loaded). > > - Load a kernel module which dumps the current contents of the pagecache > (filename/offset-into-file) into a file. > > (The kernel module writes to modprobe's stdout, so you just do > > modprobe fboot-dump > /tmp/fboot-dump.out > > I'm very proud of this.) > > - Post-process the resulting output into a database which is used on the > next reboot. > > - reboot > > - This time a userspace application cuts in real early and reads the > database and preloads all the pagecache using "optimal" I/O patterns so > that everything which you will need in the subsequent boot is already in > memory. > > > So it's all an attempt to optimise the boot-time I/O patterns. It was > pretty much a waste of time, gaining only 10% or so, from memory. You > could get just as much or more speedup from simply launching all the > initscripts in parallel, although this did tend to break stuff. > > Anyway, the code's ancient but might provide some ideas: > > http://www.zip.com.au/~akpm/linux/fboot.tar.gz
Warning. I don't know if they do have a patent for this, but MS does this starting from XP (look inside %WINDIR%\PreFetch). It is both boot and app based.
- Davide
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |