Optimizing RCng execution speed ?

Dan Nelson dnelson at allantgroup.com
Mon Apr 12 15:02:09 PDT 2004


In the last episode (Apr 12), Colin Percival said:
> At 09:36 11/04/2004, Divacky Roman wrote:
> >RCng uses dependancies so it naturally makes a graph where some
> >nodes are independant of each other. what about executing this in
> >parallel?
> 
>   I've put together some code for this -- I hacked up rcorder to
> output sets of scripts which can be run simultaneously, had rc.subr
> run them in the background, and had /etc/rc wait after each group.
>   Much to my surprise, it didn't help -- in fact, it resulted in a 5%
> slowdown (on my single processor, HTT-enabled system).

This may be due to (at least watching my systems boot up) the delay
being mainly disk waits.  Running things in parallel just ends up
thrashing your boot disk.  Some way to determine the blocks accessed
during bootup and prefetching them would help the most, I think.  You
could probably get geom to log the disk block numbers, but I'm not sure
how you would cache them.  Some new sysctl in the vfs.ffs.* area,
maybe?

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-current mailing list