diff options
Diffstat (limited to 'arch/x86/kernel/kvm.c')
| -rw-r--r-- | arch/x86/kernel/kvm.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c index ba4bfb7f6a36..5c93a65ee1e5 100644 --- a/arch/x86/kernel/kvm.c +++ b/arch/x86/kernel/kvm.c @@ -457,6 +457,7 @@ static void __send_ipi_mask(const struct cpumask *mask, int vector)  #else  	u64 ipi_bitmap = 0;  #endif +	long ret;  	if (cpumask_empty(mask))  		return; @@ -482,8 +483,9 @@ static void __send_ipi_mask(const struct cpumask *mask, int vector)  		} else if (apic_id < min + KVM_IPI_CLUSTER_SIZE) {  			max = apic_id < max ? max : apic_id;  		} else { -			kvm_hypercall4(KVM_HC_SEND_IPI, (unsigned long)ipi_bitmap, +			ret = kvm_hypercall4(KVM_HC_SEND_IPI, (unsigned long)ipi_bitmap,  				(unsigned long)(ipi_bitmap >> BITS_PER_LONG), min, icr); +			WARN_ONCE(ret < 0, "KVM: failed to send PV IPI: %ld", ret);  			min = max = apic_id;  			ipi_bitmap = 0;  		} @@ -491,8 +493,9 @@ static void __send_ipi_mask(const struct cpumask *mask, int vector)  	}  	if (ipi_bitmap) { -		kvm_hypercall4(KVM_HC_SEND_IPI, (unsigned long)ipi_bitmap, +		ret = kvm_hypercall4(KVM_HC_SEND_IPI, (unsigned long)ipi_bitmap,  			(unsigned long)(ipi_bitmap >> BITS_PER_LONG), min, icr); +		WARN_ONCE(ret < 0, "KVM: failed to send PV IPI: %ld", ret);  	}  	local_irq_restore(flags);  |