Re: [PATCH v2] smp_call_function: use inline helpers instead of macros

From: Paolo Bonzini
Date: Wed Jul 26 2017 - 10:42:18 EST


On 26/07/2017 15:32, Arnd Bergmann wrote:
> A new caller of smp_call_function() passes a local variable as the 'wait'
> argument, and that variable is otherwise unused, so we get a warning
> in non-SMP configurations:
>
> virt/kvm/kvm_main.c: In function 'kvm_make_all_cpus_request':
> virt/kvm/kvm_main.c:195:7: error: unused variable 'wait' [-Werror=unused-variable]
> bool wait = req & KVM_REQUEST_WAIT;
>
> This addresses the warning by changing the two macros into inline functions.
> As reported by the 0day build bot, a small change is required in the MIPS
> r4k code for this, which then gets a warning about a missing variable.
>
> Fixes: 7a97cec26b94 ("KVM: mark requests that need synchronization")
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Link: https://patchwork.kernel.org/patch/9722063/
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

This is not needed anymore, I've fixed it in KVM:

commit b49defe83659cefbb1763d541e779da32594ab10
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jun 30 13:25:45 2017 +0200

kvm: avoid unused variable warning for UP builds

The uniprocessor version of smp_call_function_many does not evaluate
all of its argument, and the compiler emits a warning about "wait"
being unused. This breaks the build on architectures for which
"-Werror" is enabled by default.

Work around it by moving the invocation of smp_call_function_many to
its own inline function.

Reported-by: Paul Mackerras <paulus@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Fixes: 7a97cec26b94c909f4cbad2dc3186af3e457a522
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Paolo