Re: [PATCH] x86: kvm: hide the unused 'cpu' variable

From: Paolo Bonzini
Date: Wed Apr 04 2018 - 13:00:51 EST


On 04/04/2018 13:51, David Hildenbrand wrote:
> On 04.04.2018 12:44, Arnd Bergmann wrote:
>> The local variable was newly introduced but is only accessed in one
>> place on x86_64, but not on 32-bit:
>>
>> arch/x86/kvm/vmx.c: In function 'vmx_save_host_state':
>> arch/x86/kvm/vmx.c:2175:6: error: unused variable 'cpu' [-Werror=unused-variable]
>>
>> This puts it into another #ifdef.
>>
>> Fixes: 35060ed6a1ff ("x86/kvm/vmx: avoid expensive rdmsr for MSR_GS_BASE")
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> arch/x86/kvm/vmx.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
>> index 8307f625ea99..7399a4a17f78 100644
>> --- a/arch/x86/kvm/vmx.c
>> +++ b/arch/x86/kvm/vmx.c
>> @@ -2357,7 +2357,9 @@ static unsigned long segment_base(u16 selector)
>> static void vmx_save_host_state(struct kvm_vcpu *vcpu)
>> {
>> struct vcpu_vmx *vmx = to_vmx(vcpu);
>> +#ifdef CONFIG_X86_64
>> int cpu = raw_smp_processor_id();
>> +#endif
>> int i;
>>
>> if (vmx->host_state.loaded)
>>
>
> Can't we get rid of the variable and just do it inline?

Neither is particularly nice, but one thing we can do is simplify the
#ifdef maze by combining conditionals that have no code in between.

Paolo

> Anyhow, fixes the problem
>
> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>
>