[13:10] <jan_here> hello?
[19:06] <Keybuk> StyXman: so the problem is to create an efficient readahead list
[19:06] <Keybuk> we've got an inefficient one today
[19:06] <Keybuk> replacing that with a differently ineffeicient one doesn't really help things in the long-term
[19:06] <Keybuk> ideally we'd like to know, on average, which executables request which blocks of which files
[19:06] <Keybuk> and at what time they do it
[19:06] <Keybuk> then we can page them into the cache in order, in advance of when they're needed
[19:07] <Mirv> are you planning on directly tackling some application problems, similar to this extremely great work done by Behdad: http://mces.blogspot.com/2008/12/improving-login-time-part-3.html ?
[19:08] <StyXman> isn't too much low level? I mean, normally booting programs just read a file, maybe seq'ly, maybe randomly, and all you need is to have it already in ram, or do I miss something?
[19:08] <Keybuk> Mirv: eventually
[19:08] <Keybuk> StyXman: the page cache works on blocks, not files
[19:08] <Mirv> yeah, I know, there is just so many even more low-hanging fruits, while the upstreams might actually fix something too
[19:09] <StyXman> Keybuk: again, why so lo level? why not just read the file and let the kernel take care of page cache?
[19:09] <Keybuk> StyXman: that's what we do today
[19:09] <StyXman> if you're low in ram, you can make slices
[19:09] <StyXman> Keybuk: ok
[19:09] <Mirv> hmm, I could put a mental note somewhere to check whether compiz git fixes the 5s delay (no disk activity) I've seen, it'd good for jaunty if 0.8.0 does not come out
[19:09] <Keybuk> but we read too much as a result
[19:09] <Keybuk> in practice, when you execute a binary, you don't read all of it into memory
[19:09] <Keybuk> you just read certain bits
[19:10] <StyXman> Keybuk: how is the read/size ratio?
[19:10] <StyXman> I mean, how much do you read?
[19:11] <Keybuk> StyXman: I don't have numbers on that yet
[19:11] <StyXman> Keybuk: ok
[19:12] <StyXman> Keybuk: do you know if what readahead does (being so low level) is a consequence of already trying that? how was the approach selected?
[19:12] <Keybuk> as you can probably tell from the graph changes, my focus atm is on the kernel, udev and modprobe load times
[19:12] <Keybuk> StyXman: readahead() is just a syscall
[19:12] <Keybuk> man readahead gives you the docs on it
[19:14] <StyXman> Keybuk: ah, ok