[Cocci] [PATCH v2] coccinelle: fix parallel build with CHECK=scripts/coccicheck

Masahiro Yamada yamada.masahiro at socionext.com
Mon Nov 13 17:32:58 CET 2017


Hi Julia,


2017-11-14 0:30 GMT+09:00 Julia Lawall <julia.lawall at lip6.fr>:
>
>
> On Thu, 9 Nov 2017, Masahiro Yamada wrote:
>
>> The command "make -j8 C=1 CHECK=scripts/coccicheck" produces lots of
>> "coccicheck failed" error messages.
>>
>> I do not know the coccinelle internals, but I guess --jobs does not
>> work well if spatch is invoked from Make running in parallel.
>> Disable --jobs in this case.
>
> Why is this change under:
>
> if [ "$C" = "1" -o "$C" = "2" ];
>
> The coccicheck failed messages come also if one runs Coccinelle on the
> entire kernel.

As far as I tested, "coccicheck failed" error only happens
when ONLINE=1.


make -j8 C=1 CHECK=scripts/coccicheck  COCCI=scripts/coccinelle/misc/bugon.cocci

emits lots of errors.


make -j8 coccicheck  COCCI=scripts/coccinelle/misc/bugon.cocci

is fine.


Have you tested it?
Do you mean you got a different result from mine?



> julia
>
>
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>> ---
>>
>> Changes in v2:
>>   - Grep '-j' instead of '--jobserver-auth'.
>>     '--jobserver-*' is not a stable option flag.
>>     Make 4.2 change '--jobserver-fds' into '--jobserver-auth'
>>   - Add -q option to grep
>>
>>  scripts/coccicheck | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/scripts/coccicheck b/scripts/coccicheck
>> index 040a8b1..8bab11e 100755
>> --- a/scripts/coccicheck
>> +++ b/scripts/coccicheck
>> @@ -70,6 +70,9 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
>>      # Take only the last argument, which is the C file to test
>>      shift $(( $# - 1 ))
>>      OPTIONS="$COCCIINCLUDE $1"
>> +
>> +    # --jobs does not work if Make is running in parallel
>> +    echo $MAKEFLAGS | grep -q -E '(^| )-j' && USE_JOBS="no"
>>  else
>>      ONLINE=0
>>      if [ "$KBUILD_EXTMOD" = "" ] ; then
>> --
>> 2.7.4
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Best Regards
Masahiro Yamada


More information about the Cocci mailing list