On Tue, Sep 14, 2010 at 11:04 AM, Michael Schwendt <mschwendt(a)gmail.com> wrote:
On Tue, 14 Sep 2010 10:32:06 -0400, Jarod wrote:
> > Plague Builders don't accept more
> > than the maximum number of build jobs they can handle.
>
> How does the builder know what the maximum number of jobs it can handle is?
See determine_max_jobs() in /usr/bin/plague-builder.
It runs '/usr/bin/getconf _NPROCESSORS_ONLN' and defaults to '1',
which explains your value of '4'.
Bleah. Not a default I like much. Gets worse and worse with more cpus
too. 4 cores plus hyperthreading -> 8 x -j8 jobs, so 64 threads on 4
cores. 16 on 2 is bad enough...
> > The server cannot override that.
>
> Well, it is/was.
No, the builder maintains its own number of max. jobs and free slots.
It rejects further jobs if it's busy and if the server tries to start
more jobs anyway.
The server only keeps track of the current number of free slots of
the builders for scheduling.
> I set max_jobs to either 1 or 2 to no effect, it was
> always "number of cpus" that got set as the max jobs value.
Right. There is no configuration variable to change that. Seems
everything else is there already (the "cfg" parameter to implement
a configuration parameter to override the default max.jobs value).
Okay, so the problem is that I was trying to use an invalid config
option. Was there when I started poking at the config when the box was
being brought to its knees by the defaults, so I'd assumed it was
valid.
--
Jarod Wilson
jarod(a)wilsonet.com