mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	KVM: X86: Avoid traversing all the cpus for pv tlb flush when steal time is disabled
Avoid traversing all the cpus for pv tlb flush when steal time is disabled since pv tlb flush depends on the field in steal time for shared data. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim KrÄmář <rkrcmar@redhat.com> Signed-off-by: Wanpeng Li <wanpengli@tencent.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									afdc3f5888
								
							
						
					
					
						commit
						4f2f61fc50
					
				
					 1 changed files with 4 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -545,7 +545,8 @@ static void __init kvm_guest_init(void)
 | 
			
		|||
		pv_time_ops.steal_clock = kvm_steal_clock;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH))
 | 
			
		||||
	if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) &&
 | 
			
		||||
	    !kvm_para_has_feature(KVM_FEATURE_STEAL_TIME))
 | 
			
		||||
		pv_mmu_ops.flush_tlb_others = kvm_flush_tlb_others;
 | 
			
		||||
 | 
			
		||||
	if (kvm_para_has_feature(KVM_FEATURE_PV_EOI))
 | 
			
		||||
| 
						 | 
				
			
			@ -633,7 +634,8 @@ static __init int kvm_setup_pv_tlb_flush(void)
 | 
			
		|||
{
 | 
			
		||||
	int cpu;
 | 
			
		||||
 | 
			
		||||
	if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH)) {
 | 
			
		||||
	if (kvm_para_has_feature(KVM_FEATURE_PV_TLB_FLUSH) &&
 | 
			
		||||
	    !kvm_para_has_feature(KVM_FEATURE_STEAL_TIME)) {
 | 
			
		||||
		for_each_possible_cpu(cpu) {
 | 
			
		||||
			zalloc_cpumask_var_node(per_cpu_ptr(&__pv_tlb_mask, cpu),
 | 
			
		||||
				GFP_KERNEL, cpu_to_node(cpu));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue