[apparmor] [PATCH] parser: add basic support for parallel compiles and loads
John Johansen
john.johansen at canonical.com
Mon Nov 30 22:35:08 UTC 2015
On 11/30/2015 12:41 PM, Seth Arnold wrote:
> On Sat, Nov 28, 2015 at 11:08:05AM -0800, John Johansen wrote:
>> +static void setup_parallel_compile(void)
>> +{
>> + /* jobs_count and paralell_max set by default, config or args */
>> + long n = sysconf(_SC_NPROCESSORS_ONLN);
>
> We should handle an error return here ..
yep
>
>> + if (jobs_count == JOBS_AUTO)
>> + jobs_count = n;
>> + if (jobs_max == JOBS_AUTO)
>> + jobs_max = n;
>> + /* jobs_max will be used internally */
>> + jobs_max = min(jobs_count, jobs_max);
>> + if (jobs_max > 8*n) {
>> + PERROR("%s: Invalid maximum number of jobs '%ld' > 8 * # of cpus",
>> + progname, jobs_max);
>> + exit(1);
>> + }
>> + else if (jobs_max < 1) {
>> + PERROR("%s: Invalid maximum number of jobs '%ld'",
>> + progname, jobs_max);
>> + exit(1);
>> + }
>
> .. because this test could be tripped with a -1 return from sysconf().
>
> If sysconf() fails we should probably just go with n = 2 or something
> conservative.
>
> I like the cap on eight times the number of CPUs.
>
> Thanks
>
>
>
More information about the AppArmor
mailing list