On Tue, 2006-05-16 at 22:18 -0500, Michael E Brown wrote:
On Tue, 2006-05-16 at 22:06 -0500, Jason L Tibbitts III wrote:
>
> I'm building on a dual core quad socket Opteron 880 (2.4GHz) machine
> with 16GB of RAM; disk is a plain throwaway 250GB Western Digital
> connected via SATA to an onboard SiI 3114 controller. The machine is
> otherwise idle. It has sufficient memory to cache pretty much
> everything involved in the build process.
>
> Things are mostly IO bound on this machine, except for unpacking the
> cached buildroot which is completely CPU bound. I think that
> switching to gzip might help.
I'll work on that next. I'll make tar look at the file extension and
switch between bzip2/gzip/no-compression.
Implemented. Change the cache_ext config option. Endings with .bz2
and .gz are handled appropriately. Others are uncached.
Attached is a lightly-tested patch. I wanted to get it out there, I'll
finish a few more test runs on it tomorrow.
>
> Of course, building the cache takes some time; bzip is just incredibly
> slow. Time for a build after deleting the cache file is 5:43. Again,
> gzip would probably help; bzip2 is just so slow.
>
> I noticed one issue: tar is traversing proc. I thought I saw a patch
> where it was called with -l (--one-file-system) which would prevent this:
Thanks! That should help a bit, I'll make this change to mock-helper.c.
Fixed.
I'll send a new patch shortly.
Attached.
Also fixed: one small bug where if you did separate "init" and then
"rebuild --noclean" steps, it re-unpacked the cache unnecessarily.
Also fixed: command line option is "--no-clean", opt parser variable is
"dirty", and the config_opts variable is "clean". I've changed the
last
two to "clean" to make them consistent because I kept getting things
backwards.
--
Michael