On 07/03/2018 03:49 PM, Andrew Morton wrote:
> On Tue, 3 Jul 2018 15:12:10 +0200 Norbert Manthey <[email protected]> wrote:
> 
>> This script performs build testing, by building several configurations
>> several times. The script is introduced to improve the consistency of
>> testing changes in the kernel configuration.
>>
>> This version build randconfig 10 times, as well as allyesconfig,
>> allnoconfig and allmodconfig. Depending on the used machine and system
>> setup, the script might take a while to finish.
>>
>> The script logs all the used config files, as well as the output of the
>> build commands to a log directory "build_check_logs", so that this data
>> can be retrieved after running the script.
> 
> I'm unable to even guess how many people will find this useful.

I expect that lots of us have similar scripts.

>> +build ()
>> +{
>> +    local -r LOG_FILE="$1"
>> +    local -i STATUS=0
>> +
>> +    make clean -j $(nproc) &> /dev/null
>> +    make -j $(nproc) &>> "$LOG_FILE" || STATUS=$?
>> +
>> +    echo "build status: $STATUS" >> "$LOG_FILE"
>> +    echo "[$SECONDS] build status: $STATUS"
>> +    return "$STATUS"
>> +}
> 
> The script never sets nproc.  So I guess this is a bare `make -j'. 
> When I type that on my (quite beefy) workstation I get eleventy xillion
> processes and the machine locks up.  Can't even wiggle the mouse. 
> After a 20 minute nap (thanks!) it was still comatose so I hit the big
> button (who writes this junk??).
> 
> So you might want to take an educated guess from /proc/cpuinfo here.

or use
nproc=`getconf _NPROCESSORS_ONLN`

or double it if you want to keep processes ready/waiting.

-- 
~Randy

Reply via email to