cvs commit: src/tools/tools/tinderbox/etc current.rc head.rc
des at des.no
Fri Jul 22 10:25:30 GMT 2005
Marcel Moolenaar <marcel at xcllnt.net> writes:
> This change was without warning and without cause. He unilaterally
> decided that the work and effort put in by others was beneath his
> attention and concern by making the commit like this. And if des@ is
> incapable of even the most basic forms of communication that he
> cannot express his predicament or explain his reasons for this
> change and ask for input even after the fact, then he shouldn't even
> be making commits in the first place.
I'm sorry, Marcel, but you are completely off base.
The tinderbox is a service I provide to the FreeBSD developers because
I (and many others) feel that it is useful. I have spent a lot of
time and effort developing, maintaining and running it for the past
three or four years with *zero* assistance from anyone except Mike
Tancsa (who hosts the current cluster and has gone above & beyond to
keep it running in the face of hardware failures and my screwups) and
John De Boskey (who hosted the previous cluster until Real Life made
it impossible for him to keep up). Most importantly, I have received
no assistance from the FreeBSD Project, and considerable resistance
from several of its members.
The tinderbox scripts and configuration files are in CVS because
someone commented three years ago that it would be nice if they were
available to other developers (the fact that they are in ncvs instead
of projcvs is a historical mistake). Nevertheless, in all that time,
I can recall only two people other than myself who have shown any
interest in the code. One of them was ru@, who asked for man pages
and pointed out some markup errors. I forget who the other was, but
he pointed out that the default value for the %%TINDERBOX%% variable
To summarize, the tinderbox is still very much *my* operation, and I
decide how it is run.
Now for the reasons behind the change:
Unfortunately, the current hardware does not have the capacity to run
full builds of all active branches (that would be RELENG_4_10,
RELENG_4_11, RELENG_4, RELENG_5_3, RELENG_5_4, RELENG_5, RELENG_6,
HEAD). The most important factor in this is that RELENG_ and HEAD
are immensely more demanding than RELENG_4, because there are seven
platforms instead of three, the code base has grown by about 20%, the
compiler is considerably slower, and the bootstrap stage of the build
is considerably longer.
The box that used to run the RELENG_4 tinderbox (and now runs
RELENG_5) used to run a full build of one RELENG_4 branch in almost
precisely three hours. Extrapolating from the numbers I have so far,
the same box would take about fifteen hours to run a full build of a
single RELENG_5 branch on all seven tier 1 and 2 platforms, and it has
two branches to build: RELENG_5_4 and RELENG_5. Dropping PowerPC and
IA64 reduces that number to about ten hours, which means I can reach
my target of one full run every day with a little slack.
The box that runs RELENG_6 and HEAD is a bit faster (slightly higher
clock, more L1 cache), but it will soon have three branches to build:
RELENG_6_0, RELENG_6 and HEAD. I'm not sure it will manage a build a
day with that load; I may have to cut out Alpha (which is the only
remaining tier 2 platform in the mix).
Adding hardware won't really help. The current code doesn't scale
very well, because it was never intended to run on more than one
machine at a time. I'd have to figure out a good way to consolidate
the logs, and that takes time which would be better spent working on
the next-generation tinderbox. So does writing this email.
Dag-Erling Smørgrav - des at des.no
More information about the cvs-all