Bootchart for DSL 4.2.5


Forum: DSL Ideas and Suggestions
Topic: Bootchart for DSL 4.2.5
started by: curaga

Posted by curaga on Feb. 15 2008,13:03
I decided to take a shot and measure the DSL boot with bootchart.
The extremely long boot time, nearly 5 minutes to runlevel 2, is because of Qemu.

Bootchart is an utility that logs the boot and presents the results in a nice chart, and is mostly used for optimizing the boot process.

< The bootchart (121kb) > (they'll host it for 30 days)

In case anyone has the chance of creating the log on real hardware, I would appreciate it, as Qemu is bound to cause some error into the results. Here's < the initrd (301kb) > I used; to use it, replace the old one with this and do a remaster. Then change isolinux.cfg so that all init=/etc/init lines become init=/etc/bootchartd.
Right after boot you need to stop it with
Quote
/etc/bootchartd stop
. It'll pack the results some seconds, and then the tarball is at /var/log/bootchart.tgz.
To create a chart out of that, upload it to bootchart.org, or if you have the java SDK, get the java tools from bootchart.org and use them to build the chart.


First thoughts:
- what? I added 20kb of files to the initrd, optimized with the usual (e2fsck -D and dd if=/dev/zero of=file; rm file) and the size dropped from 840kb to 301kb? I would seriously recommend this to be done to DSL too. Might help the bootfloppy also.
- HD stats are unfortunately not shown, because the parser looks at the root device (/dev/ram0) that doesn't get any activity after the initrd, and not the loop device that handles KNOPPIX and such all the traffic
- hwsetup takes only cpu. I knew this before, but didn't know it was this much. It's a real blocker, nothing else gets done. I propose starting another command in background right before it (parallel) and having a readahead process in the background at that time also.
- pump is run twice
- dsl_restore starts 7 instances of bash and 4 of sed in parallel. While this is good, bash is still a little heavy compared to ash.

These are the ones that jumped right at me after ~5min of looking at that. I'm sure we'll get better results from real hardware, and if someone sees something obvious about this chart, please enlighten us :)

Posted by curaga on Feb. 15 2008,13:12
On the other hand, if someone does this on real HW, instead of uploading the tarball there, send it to me, as I think I can modify it to show HD stats also (they are an important part of boot though).

Of course I think of this 10min after deleting my result source. Oh well, Qemu results would still have differed from real hw.

Oh, I'm also interested in frugal installs, not only livecd's. So if you have a frugal install, just adapt the inctructions (backup your old minirt24.gz, copy this over, boot, restore the old minirt24.gz)

Posted by Juanito on Feb. 15 2008,13:22
I'd be interested to try with a frugal install - but I cannot download the file from rapidshare, I get "network error" every time I try...
Posted by curaga on Feb. 15 2008,13:41
I just tested - worked for me. Any other service I could upload to, or should I email it to you?

edit: < Here. > I didn't know I still had that account, I stopped the order in Dec, but as it's still there..

Posted by Juanito on Feb. 15 2008,14:37
OK - so the bootchart.tgz file from a usb boot is < here >

Interesting how your minirt24.gz apparently does the same and more as the original and yet is 0.5MB smaller.

Let me know how the chart looks.

Posted by curaga on Feb. 15 2008,15:02
Dammit, I was wrong. Couldn't get disk stats to show. As I get -really- different output on 2.6 kernels from /proc/diskstats, it must be a 2.4 kernel thingy.

However, your data is very interesting. < The chart for Juanito's usb frugal. >

Posted by curaga on Feb. 15 2008,15:10
Based on real-hardware boot data from Juanito I noticed:

- cpu usage is zero over 70% of the time. It's waiting for something, IO or a sleep command. Lots of room for improvement.
- pump is still started twice. I thought it was a Qemu quirk (wouldn't have been the first ;)), but it does do that. You only have one network device, right?
- smaller dsl_restore usage is explained by having a backup to restore
- boot speed is a lot better than in Qemu :)  the initial 17s wait is most probably the toram load phase

Posted by Juanito on Feb. 15 2008,16:10
Quote
You only have one network device, right?

- two, but the wireless needs ndiswrapper to be recognised and this is not loaded at boot.

Quote
the initial 17s wait is most probably the toram load phase

- it says 7s on the screen countdown...

Posted by curaga on Feb. 16 2008,09:02
Another thing. The initrd is in a 4mb file, but the ext2 filesystem created inside it is only 3mb. So, we're wasting space here either way, so it should either get expanded to 4mb (with no compressed size penalty, it's empty space) or be moved into a 3mb file.
Posted by roberts on Feb. 16 2008,19:09
Nice suggestion, curaga. Will implement.
Posted by curaga on April 05 2008,19:05
With my new comp coming, I could finally reboot my current, ex-best P3 laptop.
Here's the bootchart for it.

< http://www.shareapic.net/content.php?id=7231781&owner=laxy >

With it's 23-sec boot I don't see much to complain about, but it's not optimized much. Hang around until my new 64-bit OS is finished, for it I will do my best to have a speedy boot :D

PS: If you are currently lacking an image uploading service, I can recommend shareapic.net. Not only they have no size/format restrictions, they also pay you for showing your pictures. Joining through my pic would be appreciated ;)

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.