/srv/irclogs.ubuntu.com/2006/01/17/#ubuntu-boot.txt

=== Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-boot
KeybukMithrandir: yo10:02
Mithrandirdude!10:02
Keybukright, so yes10:02
Keybukreadahead10:02
Mithrandirso, what's your plans for readahead?10:02
Keybukmdz gave me this to overhaul as part of streamlined-boot10:02
Keybukso my general problems with it were10:03
Mithrandir(and what does  mean?)10:03
Keybuk1) wayyy out of date lists10:03
=== Kamion [n=cjwatson@83-216-156-196.colinw664.adsl.metronet.co.uk] has joined #ubuntu-boot
Keybuk2) insufficient runs10:03
Keybuk3) doesn't block-order its lists at the right time10:03
Keybuk(shutdown is not a point to do important things)10:03
Keybuketc.10:03
Keybukso my basic design for it was10:04
Keybuk- each package that includes an init.d script includes a file in /var/lib/readahead or similar listing the files it reads from10:04
Keybuk- readahead includes an audit tool that you can drop into a script to generate these files (using strace-parent, maps, etc. magic)10:04
Keybuk- each package also runs update-readahead in postinst10:04
Keybuk- that looks at rcS.d/rc2.d, picks the files from /var/lib/readahead, joins them together, and orders by block number10:05
MithrandirI was thinking just having something in initramfs which uses inotify to record everything which is opened.  List is saved at the end of the boot (or after five minutes) and reused next time.10:05
Keybukinotify can't record when files are opened, and how they're opened?10:05
Keybukand can only monitor one filesystem at a time10:06
Mithrandir#define IN_OPEN0x00000020/* File was opened */10:06
Mithrandirhuh?  You can monitor as many file systems as you want?10:06
KeybukMithrandir: doesn't say whether it's for reading, writing, etc.10:06
KeybukMithrandir: yes, but then you need to monitor each filesystem as it's mounted10:06
Keybukand there's no "filesystem mounted" event10:06
Mithrandirtrue, but that's possible to work around.10:07
Mithrandirthe readahead might need to do multiple passes anyway.10:07
Keybukyeah, I want to do a "very early" readahead pass10:08
Keybukone after /usr is probably mounted10:08
Keybukand maybe a final "gdm is up, now what?" push10:08
Keybukand it's harder to split results of a single monitor if you do that10:08
Keybukalso on LiveCD where would you save the lists? :p10:09
Keybukand where would you get the initial list?10:09
Mithrandirboot initially, upload it somewhere and we'd use a sample to decide what to put into the list.10:09
Keybukbut they won't be in anything like the right order for a real install10:09
Mithrandirnot really, if you have a list of files to be readahead, do readahead on the ones which exist, then wait for some more to come into existence, then readahead those, repeat until all files have been read.10:09
KamionI think I prefer Keybuk's approach - less likely to drift over time10:10
Keybukwhich means the first boot (only boot for reviewers) is evily slow10:10
Kamionstuff that requires us to kick it every so often has a history of bitrotting (e.g., er, readahead)10:10
Mithrandiryou'll end up readahead-ing the entirely wrong files in a lot of cases, though.  Like, if you change your language, the localised files should be read ahead, not the english ones.10:11
Kamionfor init scripts?10:11
Mithrandirhuh?10:11
Kamionthey aren't localised at the moment10:11
Kamionand what remains sounds like a relatively small number of files10:11
Kamionif need be, just readahead all the alternatives?10:12
Mithrandirwell, I was going to reuse my hack for faster gnome startup.10:13
Mithrandirso you just say "record" at the start of the session, then "stop, give me the list of files" at the end10:13
Mithrandirand then use that list next time aroud.10:13
Mithrandiraround, even10:13
Keybukthat's what we did to get the current useless lists though10:14
Keybukthey need more filtering than inotify provides10:14
Keybukreadinf /var/log/Xorg.0.log is kinda pointless, for example10:14
Keybukas with things like the font caches, etc.10:14
Mithrandiryou can see if the file was opened rw or not on close, though..10:17
Keybukit's also a bitch to find out _what_ opened it ;)10:17
Mithrandirwhy do we care, really?10:17
Mithrandirabout who opened something10:17
Keybukif we have multiple readahead phases10:17
Mithrandirwell, I would advocate not having that10:19
Keybukwhy not?10:19
Keybukduring the boot, we have three useful points where there's no disk I/P10:19
Keybukuh, I/O10:19
Keybukthose seem the best bits to do readahead blips10:19
Mithrandirif we do readahead right, we should end up with about zero I/O outside readahead anyway, shouldn't we?10:21
Keybuknot necessarily10:23
Keybuke.g. fsck ;)10:23
Mithrandirtrue, but that's a no-op in the usual case today.10:23
Mithrandir(in the usual case that you don't run a full fsck, which you usually don't)10:25
Keybukdepends on the fs10:27
Keybukext3 seems to use a lot of io to check its journal, for example10:27
Mithrandirisn't readahead prioritised below other I/O ops anyway?  If not, can we make it?10:28
KeybukI still don't like your solution though ;)10:29
Keybukit doesn't do anything for LiveCD10:29
Keybukbecause by its very definition, you have nowhere to write the updated lists10:30
Keybukand I think it'll actually slow up the ordinary system boot by reading files that aren't necessary10:30
Mithrandirbecause it'll readahead Xorg.log?10:31
Keybukbecause it'll readahead things at the wrong times10:33
Keybukyou can very easily over-readahead10:33
Keybukso it takes longer to do that, then it would to read them normally10:33
MithrandirI just think maintaining those lists by hand is going to suck and be based on a bunch of guesses more than anything else.10:35
Keybukie. if the time to do the readahead is greater than the benefit of doing so, then you lose10:35
Keybukthom and I find when first doing it that you had to write them by hand10:35
Keybukbecause the automatic ones didn't give you much benefit10:35
Keybukthey just shifted the I/O about10:36
Mithrandirwell, it really is about shifting the I/O about. :-)  You'll always end up reading at least the same amount as before.10:37
Keybukanother problem I can forsee with your idea is failed boots10:40
Keybukthe next boot, you'll end up readaheading all the things you used to fix the last boot10:40
Keybuketc.10:40
Mithrandirpossibly, yes.10:40
Keybukor switching between kernels will have similar issues10:40
Mithrandirit reduces the stability of the boot lenght.10:40
Mithrandirlength, even10:40
Keybukto me, this really does cry out to be a package-level thing ;)10:40
Keybukhere's my (automatically generated and manually weeded) list of things I cause to be read in each package10:41
Keybuklang packs would include those too10:41
=== fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-boot
=== makx [n=max@213.239.196.228] has joined #ubuntu-boot
=== JanC [n=janc@lugwv/member/JanC] has joined #ubuntu-boot
MithrandirKeybuk: we can try with your method, I guess.  When will you have it ready? :-)12:53
=== mgalvin [n=mgalvin@ubuntu/member/mgalvin] has joined #ubuntu-boot
KeybukMithrandir: been playing all afternoon so far <g>05:36
KeybukI like yours now, much easier to code than mine05:37
Keybukin fact, I have a cunning idea for a "profile" command-line option that enables both readahead profiling and boot charting05:37
Keybukso we could ship bootchart by default <g>05:37
Mithrandiryou do know that bootchart doesn't do anything by default now?05:59
Keybukthis might explain something05:59
Keybukyou know we have a mailing list?  ubuntu-devel-announce06:00
Keybukfor when you change that kind of thing <g>06:00
Keybukusers have been complaining at me for the last few days that bootchart stopped working, haven't got around to investigating yet06:00
Keybukyou could've had a small nuke thrown at you :p06:00
Mithrandiryou know, it's in the bloody changelog.06:00
Keybukwho reads those?! :p06:00
MithrandirI, at least.06:00
Mithrandirespecially if I wonder why something changes.06:01
Keybukmeh, any particular reason you disabled it?06:01
Mithrandiryes, it's on the live cd.06:01
Keybukwhy always?06:01
Mithrandirbecause there's no way to know you're on a live cd when bootchart runs.06:01
Mithrandirit's just adding a small bootchart=enable to run it.06:01
Keybukoh, of course, you can't add it to the live cd06:02
Keybuklol06:02
Mithrandiror bootchart=upload to upload the graph.06:02
Keybukupload the graph where? :p06:02
Mithrandirbootchart.err.no06:02
Mithrandir_that_ on the other hand, should probably have gone to u-d-a. :-P06:02
Keybukheh, given the amount of stuff I'm doing with boot charting right now ....06:02
Keybukit would've been nice if you'd at least told _me_ about that :p06:02
Keybukbut yes, that should go to u-d-a06:02
Keybukcould you mail it? :p06:02
MithrandirI did this change a month or so ago.06:02
Mithrandirsure06:02
KeybukI guess they can't be tagged distro/not-distro ?06:03
Keybukerr06:03
Keybuklive/real06:03
Mithrandirsure06:03
Keybukotherwise it's hard to keep track06:03
Mithrandirbootchart=enable,$tag06:03
Mithrandiriirc06:03
Mithrandirsorry, upload,$tag06:03
Keybuk:)06:04
Keybuknow, send that mail, bitch :D06:04
Mithrandirbootchart (0.9-0ubuntu5) dapper; urgency=low06:06
Mithrandir  * Add bootchart=disabled and bootchart=upload,$type arguments which will06:06
Mithrandir    respectively disable bootcharting and upload charts to06:06
Mithrandir    bootchart.err.no.06:06
Mithrandir -- Tollef Fog Heen <tfheen@ubuntu.com>  Mon, 19 Dec 2005 13:52:35 +010006:06
Mithrandirso, about a month ago wasn't that bad.06:06
Mithrandiryou haven't touched bootchart since Nov 30th. :-P06:06
Mithrandirbut sure, I'll send da mail06:06
KeybukI haven't updated my laptop properly since before xmas, no06:08
Keybukso hadn't picked up that new version yet06:08
Keybukis it enabled or disabled by default?06:09
Mithrandirhmm06:09
Mithrandirit's enabled by default06:09
Mithrandirgrep -q "bootchart=disable" /proc/cmdline && exit 006:09
Mithrandirso it's not my fault. :-P06:10
Mithrandirdoko's probably broken gcj or something06:10
Keybukyou're so going in the dry dock <g>06:10
MithrandirI can't remember random changes I did a month ago06:10
Mithrandir(without looking at changelogs, etc)06:10
KeybukI do, perhaps, think that holding a distro team sprint in an area with amble bodies of still water is a *bad* idea06:11
Mithrandirwhy? :-)06:11
Keybukamble opportunity for solving grudges <g>06:19
Keybukyou did *what* to initramfs?! *splash*06:19
Mithrandirwell, I did suggest paintball.06:20
MithrandirI'm sure there are shops in London renting out gear.06:20
Keybukthat'd rock06:21
=== Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-boot
=== Kamion [n=cjwatson@83-216-156-196.colinw664.adsl.metronet.co.uk] has joined #ubuntu-boot
=== mc76 [n=mcaamano@200.91.139.154] has joined #ubuntu-boot
mc76hi, I am trying to install breezy in a Dell Dimension 3100 and the installer hangs right after launching syslogd kdlogd. Has anyone seen this before or know how to get pass this? I already tried all the boot options in the disk and searched google for it (other people report the same issue but none report a fix) any suggestions where I can look for more info?10:34
=== mc76 [n=mcaamano@200.91.139.154] has left #ubuntu-boot ["Leaving"]

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!