Message ID | 20191024114059.102802-36-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: s390: Add support for protected VMs | expand |
On 24/10/2019 13.40, Janosch Frank wrote: > The architecture states that we need to reset local IRQs for all CPU > resets. Because the old reset interface did not support the normal CPU > reset we never did that. > > Now that we have a new interface, let's properly clear out local IRQs > and let this commit be a reminder. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> > --- > arch/s390/kvm/kvm-s390.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index ba6144fdb5d1..cc5feb67f145 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -3485,6 +3485,8 @@ static int kvm_arch_vcpu_ioctl_reset(struct kvm_vcpu *vcpu, > * non-protected case. > */ > rc = 0; > + kvm_clear_async_pf_completion_queue(vcpu); > + kvm_s390_clear_local_irqs(vcpu); > if (kvm_s390_pv_handle_cpu(vcpu)) { > rc = uv_cmd_nodata(kvm_s390_pv_handle_cpu(vcpu), > UVC_CMD_CPU_RESET, &ret); > I think you could squash this into patch 33/37 where you've introduced the RESET_NORMAL (and adjust the patch description there). Thomas
On 11/15/19 12:23 PM, Thomas Huth wrote: > On 24/10/2019 13.40, Janosch Frank wrote: >> The architecture states that we need to reset local IRQs for all CPU >> resets. Because the old reset interface did not support the normal CPU >> reset we never did that. >> >> Now that we have a new interface, let's properly clear out local IRQs >> and let this commit be a reminder. >> >> Signed-off-by: Janosch Frank <frankja@linux.ibm.com> >> --- >> arch/s390/kvm/kvm-s390.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c >> index ba6144fdb5d1..cc5feb67f145 100644 >> --- a/arch/s390/kvm/kvm-s390.c >> +++ b/arch/s390/kvm/kvm-s390.c >> @@ -3485,6 +3485,8 @@ static int kvm_arch_vcpu_ioctl_reset(struct kvm_vcpu *vcpu, >> * non-protected case. >> */ >> rc = 0; >> + kvm_clear_async_pf_completion_queue(vcpu); >> + kvm_s390_clear_local_irqs(vcpu); >> if (kvm_s390_pv_handle_cpu(vcpu)) { >> rc = uv_cmd_nodata(kvm_s390_pv_handle_cpu(vcpu), >> UVC_CMD_CPU_RESET, &ret); >> > > I think you could squash this into patch 33/37 where you've introduced > the RESET_NORMAL (and adjust the patch description there). > > Thomas > Yes, that hunk was singled out to have an item to discuss internally. Since we now established, that it is needed, I can squash it.
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index ba6144fdb5d1..cc5feb67f145 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -3485,6 +3485,8 @@ static int kvm_arch_vcpu_ioctl_reset(struct kvm_vcpu *vcpu, * non-protected case. */ rc = 0; + kvm_clear_async_pf_completion_queue(vcpu); + kvm_s390_clear_local_irqs(vcpu); if (kvm_s390_pv_handle_cpu(vcpu)) { rc = uv_cmd_nodata(kvm_s390_pv_handle_cpu(vcpu), UVC_CMD_CPU_RESET, &ret);
The architecture states that we need to reset local IRQs for all CPU resets. Because the old reset interface did not support the normal CPU reset we never did that. Now that we have a new interface, let's properly clear out local IRQs and let this commit be a reminder. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> --- arch/s390/kvm/kvm-s390.c | 2 ++ 1 file changed, 2 insertions(+)