Re: [PATCH 6/7] s390/vfio_ap: increase max wait time for reset verification

From: Anthony Krowiak
Date: Tue Dec 20 2022 - 09:28:09 EST



On 12/15/22 5:58 AM, Harald Freudenberger wrote:
On 2022-12-13 16:44, Tony Krowiak wrote:
Increase the maximum time to wait for verification of a queue reset
operation to 200ms.

Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>
---
 drivers/s390/crypto/vfio_ap_ops.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/s390/crypto/vfio_ap_ops.c
b/drivers/s390/crypto/vfio_ap_ops.c
index dbf681715a6d..e80c5a6b91be 100644
--- a/drivers/s390/crypto/vfio_ap_ops.c
+++ b/drivers/s390/crypto/vfio_ap_ops.c
@@ -30,6 +30,9 @@
 #define AP_QUEUE_UNASSIGNED "unassigned"
 #define AP_QUEUE_IN_USE "in use"

+#define MAX_RESET_CHECK_WAIT    200    /* Sleep max 200ms for reset check    */
+#define AP_RESET_INTERVAL        20    /* Reset sleep interval (20ms)        */
+
 static int vfio_ap_mdev_reset_queues(struct ap_queue_table *qtable);
 static struct vfio_ap_queue *vfio_ap_find_queue(int apqn);
 static const struct vfio_device_ops vfio_ap_matrix_dev_ops;
@@ -1615,11 +1618,12 @@ static int apq_status_check(int apqn, struct
ap_queue_status *status)

 static int apq_reset_check(struct vfio_ap_queue *q)
 {
-    int iters = 2, ret;
+    int ret;
+    int iters = MAX_RESET_CHECK_WAIT / AP_RESET_INTERVAL;
     struct ap_queue_status status;

-    while (iters--) {
-        msleep(20);
+    for (; iters > 0; iters--) {
+        msleep(AP_RESET_INTERVAL);
         status = ap_tapq(q->apqn, NULL);
         ret = apq_status_check(q->apqn, &status);
         if (ret != -EBUSY)

Reviewed-by: Harald Freudenberger <freude@xxxxxxxxxxxxx>


Thanks for the review.