[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2822327d-bf4b-9dd2-1d3a-e0811bb0aa96@linux.ibm.com>
Date: Fri, 1 Dec 2023 10:58:53 +0100
From: Christian Borntraeger <borntraeger@...ux.ibm.com>
To: Tony Krowiak <akrowiak@...ux.ibm.com>, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
Alexander Gordeev <agordeev@...ux.ibm.com>,
Heiko Carstens <hca@...ux.ibm.com>,
Vasily Gorbik <gor@...ux.ibm.com>
Cc: jjherne@...ux.ibm.com, pasic@...ux.ibm.com,
alex.williamson@...hat.com, kwankhede@...dia.com,
frankja@...ux.ibm.com, imbrenda@...ux.ibm.com, david@...hat.com,
Matthew Rosato <mjrosato@...ux.ibm.com>
Subject: Re: [PATCH v4 3/3] s390/vfio-ap: improve reaction to response code 07
from PQAP(AQIC) command
Am 29.11.23 um 15:54 schrieb Tony Krowiak:
> Let's improve the vfio_ap driver's reaction to reception of response code
> 07 from the PQAP(AQIC) command when enabling interrupts on behalf of a
> guest:
>
> * Unregister the guest's ISC before the pages containing the notification
> indicator bytes are unpinned.
>
> * Capture the return code from the kvm_s390_gisc_unregister function and
> log a DBF warning if it fails.
>
> Suggested-by: Matthew Rosato <mjrosato@...ux.ibm.com>
> Signed-off-by: Tony Krowiak <akrowiak@...ux.ibm.com>
> Reviewed-by: Matthew Rosato <mjrosato@...ux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@...ux.ibm.com>
should go via the s390 tree
> ---
> drivers/s390/crypto/vfio_ap_ops.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
> index 25d7ce2094f8..4e80c211ba47 100644
> --- a/drivers/s390/crypto/vfio_ap_ops.c
> +++ b/drivers/s390/crypto/vfio_ap_ops.c
> @@ -476,8 +476,11 @@ static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q,
> break;
> case AP_RESPONSE_OTHERWISE_CHANGED:
> /* We could not modify IRQ settings: clear new configuration */
> + ret = kvm_s390_gisc_unregister(kvm, isc);
> + if (ret)
> + VFIO_AP_DBF_WARN("%s: kvm_s390_gisc_unregister: rc=%d isc=%d, apqn=%#04x\n",
> + __func__, ret, isc, q->apqn);
> vfio_unpin_pages(&q->matrix_mdev->vdev, nib, 1);
> - kvm_s390_gisc_unregister(kvm, isc);
> break;
> default:
> pr_warn("%s: apqn %04x: response: %02x\n", __func__, q->apqn,
Powered by blists - more mailing lists