diff mbox series

[v4,1/4] KVM: s390: pv: relax WARN_ONCE condition for destroy fast

Message ID 20230815151415.379760-2-seiden@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series KVM: s390: Enable AP instructions for PV-guests | expand

Commit Message

Steffen Eiden Aug. 15, 2023, 3:14 p.m. UTC
From: Viktor Mihajlovski <mihajlov@linux.ibm.com>

Destroy configuration fast may return with RC 0x104 if there
are still bound APQNs in the configuration. The final cleanup
will occur with the standard destroy configuration UVC as
at this point in time all APQNs have been reset and thus
unbound. Therefore, don't warn if RC 0x104 is reported.

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
---
 arch/s390/kvm/pv.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Michael Mueller Aug. 17, 2023, 10:59 a.m. UTC | #1
On 15.08.23 17:14, Steffen Eiden wrote:
> From: Viktor Mihajlovski <mihajlov@linux.ibm.com>
> 
> Destroy configuration fast may return with RC 0x104 if there
> are still bound APQNs in the configuration. The final cleanup
> will occur with the standard destroy configuration UVC as
> at this point in time all APQNs have been reset and thus
> unbound. Therefore, don't warn if RC 0x104 is reported.
> 
> Signed-off-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>


Reviewed-by: Michael Mueller <mimu@linux.ibm.com>

> ---
>   arch/s390/kvm/pv.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c
> index 8d3f39a8a11e..8570ee324607 100644
> --- a/arch/s390/kvm/pv.c
> +++ b/arch/s390/kvm/pv.c
> @@ -285,7 +285,8 @@ static int kvm_s390_pv_deinit_vm_fast(struct kvm *kvm, u16 *rc, u16 *rrc)
>   	WRITE_ONCE(kvm->arch.gmap->guest_handle, 0);
>   	KVM_UV_EVENT(kvm, 3, "PROTVIRT DESTROY VM FAST: rc %x rrc %x",
>   		     uvcb.header.rc, uvcb.header.rrc);
> -	WARN_ONCE(cc, "protvirt destroy vm fast failed handle %llx rc %x rrc %x",
> +	WARN_ONCE(cc && uvcb.header.rc != 0x104,
> +		  "protvirt destroy vm fast failed handle %llx rc %x rrc %x",
>   		  kvm_s390_pv_get_handle(kvm), uvcb.header.rc, uvcb.header.rrc);
>   	/* Intended memory leak on "impossible" error */
>   	if (!cc)
diff mbox series

Patch

diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c
index 8d3f39a8a11e..8570ee324607 100644
--- a/arch/s390/kvm/pv.c
+++ b/arch/s390/kvm/pv.c
@@ -285,7 +285,8 @@  static int kvm_s390_pv_deinit_vm_fast(struct kvm *kvm, u16 *rc, u16 *rrc)
 	WRITE_ONCE(kvm->arch.gmap->guest_handle, 0);
 	KVM_UV_EVENT(kvm, 3, "PROTVIRT DESTROY VM FAST: rc %x rrc %x",
 		     uvcb.header.rc, uvcb.header.rrc);
-	WARN_ONCE(cc, "protvirt destroy vm fast failed handle %llx rc %x rrc %x",
+	WARN_ONCE(cc && uvcb.header.rc != 0x104,
+		  "protvirt destroy vm fast failed handle %llx rc %x rrc %x",
 		  kvm_s390_pv_get_handle(kvm), uvcb.header.rc, uvcb.header.rrc);
 	/* Intended memory leak on "impossible" error */
 	if (!cc)