x86/kvm: Don't use pv tlb/ipi/sched_yield if on 1 vCPU
Inspired by commit 3553ae5690 (x86/kvm: Don't use pvqspinlock code if
only 1 vCPU), on a VM with only 1 vCPU, there is no need to enable
pv tlb/ipi/sched_yield and we can save the memory for __pv_cpu_mask.
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Message-Id: <1645171838-2855-1-git-send-email-wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									ba1f77c546
								
							
						
					
					
						commit
						ec756e40e2
					
				| @ -462,19 +462,22 @@ static bool pv_tlb_flush_supported(void) | ||||
| { | ||||
| 	return (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) && | ||||
| 		!kvm_para_has_hint(KVM_HINTS_REALTIME) && | ||||
| 		kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)); | ||||
| 		kvm_para_has_feature(KVM_FEATURE_STEAL_TIME) && | ||||
| 		(num_possible_cpus() != 1)); | ||||
| } | ||||
| 
 | ||||
| static bool pv_ipi_supported(void) | ||||
| { | ||||
| 	return kvm_para_has_feature(KVM_FEATURE_PV_SEND_IPI); | ||||
| 	return (kvm_para_has_feature(KVM_FEATURE_PV_SEND_IPI) && | ||||
| 	       (num_possible_cpus() != 1)); | ||||
| } | ||||
| 
 | ||||
| static bool pv_sched_yield_supported(void) | ||||
| { | ||||
| 	return (kvm_para_has_feature(KVM_FEATURE_PV_SCHED_YIELD) && | ||||
| 		!kvm_para_has_hint(KVM_HINTS_REALTIME) && | ||||
| 	    kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)); | ||||
| 	    kvm_para_has_feature(KVM_FEATURE_STEAL_TIME) && | ||||
| 	    (num_possible_cpus() != 1)); | ||||
| } | ||||
| 
 | ||||
| #define KVM_IPI_CLUSTER_SIZE	(2 * BITS_PER_LONG) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user