@@ -10097,7 +10097,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
1009710097 /* Store vcpu->apicv_active before vcpu->mode. */
1009810098 smp_store_release (& vcpu -> mode , IN_GUEST_MODE );
1009910099
10100- srcu_read_unlock ( & vcpu -> kvm -> srcu , vcpu -> srcu_idx );
10100+ kvm_vcpu_srcu_read_unlock ( vcpu );
1010110101
1010210102 /*
1010310103 * 1) We should set ->mode before checking ->requests. Please see
@@ -10128,7 +10128,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
1012810128 smp_wmb ();
1012910129 local_irq_enable ();
1013010130 preempt_enable ();
10131- vcpu -> srcu_idx = srcu_read_lock ( & vcpu -> kvm -> srcu );
10131+ kvm_vcpu_srcu_read_lock ( vcpu );
1013210132 r = 1 ;
1013310133 goto cancel_injection ;
1013410134 }
@@ -10254,7 +10254,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
1025410254 local_irq_enable ();
1025510255 preempt_enable ();
1025610256
10257- vcpu -> srcu_idx = srcu_read_lock ( & vcpu -> kvm -> srcu );
10257+ kvm_vcpu_srcu_read_lock ( vcpu );
1025810258
1025910259 /*
1026010260 * Profile KVM exit RIPs:
@@ -10284,7 +10284,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
1028410284}
1028510285
1028610286/* Called within kvm->srcu read side. */
10287- static inline int vcpu_block (struct kvm * kvm , struct kvm_vcpu * vcpu )
10287+ static inline int vcpu_block (struct kvm_vcpu * vcpu )
1028810288{
1028910289 bool hv_timer ;
1029010290
@@ -10300,12 +10300,12 @@ static inline int vcpu_block(struct kvm *kvm, struct kvm_vcpu *vcpu)
1030010300 if (hv_timer )
1030110301 kvm_lapic_switch_to_sw_timer (vcpu );
1030210302
10303- srcu_read_unlock ( & kvm -> srcu , vcpu -> srcu_idx );
10303+ kvm_vcpu_srcu_read_unlock ( vcpu );
1030410304 if (vcpu -> arch .mp_state == KVM_MP_STATE_HALTED )
1030510305 kvm_vcpu_halt (vcpu );
1030610306 else
1030710307 kvm_vcpu_block (vcpu );
10308- vcpu -> srcu_idx = srcu_read_lock ( & kvm -> srcu );
10308+ kvm_vcpu_srcu_read_lock ( vcpu );
1030910309
1031010310 if (hv_timer )
1031110311 kvm_lapic_switch_to_hv_timer (vcpu );
@@ -10347,15 +10347,14 @@ static inline bool kvm_vcpu_running(struct kvm_vcpu *vcpu)
1034710347static int vcpu_run (struct kvm_vcpu * vcpu )
1034810348{
1034910349 int r ;
10350- struct kvm * kvm = vcpu -> kvm ;
1035110350
1035210351 vcpu -> arch .l1tf_flush_l1d = true;
1035310352
1035410353 for (;;) {
1035510354 if (kvm_vcpu_running (vcpu )) {
1035610355 r = vcpu_enter_guest (vcpu );
1035710356 } else {
10358- r = vcpu_block (kvm , vcpu );
10357+ r = vcpu_block (vcpu );
1035910358 }
1036010359
1036110360 if (r <= 0 )
@@ -10374,9 +10373,9 @@ static int vcpu_run(struct kvm_vcpu *vcpu)
1037410373 }
1037510374
1037610375 if (__xfer_to_guest_mode_work_pending ()) {
10377- srcu_read_unlock ( & kvm -> srcu , vcpu -> srcu_idx );
10376+ kvm_vcpu_srcu_read_unlock ( vcpu );
1037810377 r = xfer_to_guest_mode_handle_work (vcpu );
10379- vcpu -> srcu_idx = srcu_read_lock ( & kvm -> srcu );
10378+ kvm_vcpu_srcu_read_lock ( vcpu );
1038010379 if (r )
1038110380 return r ;
1038210381 }
@@ -10479,15 +10478,14 @@ static void kvm_put_guest_fpu(struct kvm_vcpu *vcpu)
1047910478int kvm_arch_vcpu_ioctl_run (struct kvm_vcpu * vcpu )
1048010479{
1048110480 struct kvm_run * kvm_run = vcpu -> run ;
10482- struct kvm * kvm = vcpu -> kvm ;
1048310481 int r ;
1048410482
1048510483 vcpu_load (vcpu );
1048610484 kvm_sigset_activate (vcpu );
1048710485 kvm_run -> flags = 0 ;
1048810486 kvm_load_guest_fpu (vcpu );
1048910487
10490- vcpu -> srcu_idx = srcu_read_lock ( & vcpu -> kvm -> srcu );
10488+ kvm_vcpu_srcu_read_lock ( vcpu );
1049110489 if (unlikely (vcpu -> arch .mp_state == KVM_MP_STATE_UNINITIALIZED )) {
1049210490 if (kvm_run -> immediate_exit ) {
1049310491 r = - EINTR ;
@@ -10499,9 +10497,9 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)
1049910497 */
1050010498 WARN_ON_ONCE (kvm_lapic_hv_timer_in_use (vcpu ));
1050110499
10502- srcu_read_unlock ( & kvm -> srcu , vcpu -> srcu_idx );
10500+ kvm_vcpu_srcu_read_unlock ( vcpu );
1050310501 kvm_vcpu_block (vcpu );
10504- vcpu -> srcu_idx = srcu_read_lock ( & kvm -> srcu );
10502+ kvm_vcpu_srcu_read_lock ( vcpu );
1050510503
1050610504 if (kvm_apic_accept_events (vcpu ) < 0 ) {
1050710505 r = 0 ;
@@ -10562,7 +10560,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)
1056210560 if (kvm_run -> kvm_valid_regs )
1056310561 store_regs (vcpu );
1056410562 post_kvm_run_save (vcpu );
10565- srcu_read_unlock ( & kvm -> srcu , vcpu -> srcu_idx );
10563+ kvm_vcpu_srcu_read_unlock ( vcpu );
1056610564
1056710565 kvm_sigset_deactivate (vcpu );
1056810566 vcpu_put (vcpu );
0 commit comments