* src/job.c (load_too_high): Disable Linux /proc/loadavg for now

This new feature has a problem: if you provide a load which is
larger than the number of cores then it will always run every job.
Before we can enable it we need to at the least learn how to clamp
this value to the number of cores.  To experiment with it, set
PROC_FD_INIT to -2 in job.c to re-enable the feature.
This commit is contained in:
Paul Smith 2019-12-17 12:29:44 -05:00
parent f389aabde6
commit 57b043c7fb

View file

@ -2008,7 +2008,18 @@ load_too_high (void)
#else
static double last_sec;
static time_t last_now;
static int proc_fd = -2;
/* This is disabled by default for now, because it will behave badly if the
user gives a value > the number of cores; in that situation the load will
never be exceeded, this function always returns false, and we'll start
all the jobs. Also, it's not quite right to limit jobs to the number of
cores not busy since a job takes some time to start etc. Maybe that's
OK, I'm not sure exactly how to handle that, but for sure we need to
clamp this value at the number of cores before this can be enabled.
*/
#define PROC_FD_INIT -1
static int proc_fd = PROC_FD_INIT;
double load, guess;
time_t now;