 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 2/3] Prevent Schedule from preparing every outstanding SRB
 Returning a fail code from BlkifRingPostRequests will make the
BlkifRingSchedule loop try a poll for responses, and exit the loop if
no space is made available on the ring. This prevents the loop from
proceeding to prepare the next queued SRB.
Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
 src/xenvbd/ring.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
index 74426f1..c8ad87d 100644
--- a/src/xenvbd/ring.c
+++ b/src/xenvbd/ring.c
@@ -1132,12 +1132,11 @@ __BlkifRingPostRequests(
 
         InsertTailList(&BlkifRing->SubmittedList, ListEntry);
 
+        BlkifRing->Front.req_prod_pvt = req_prod;
         if (RING_SLOTS_AVAILABLE(&BlkifRing->Front, req_prod, rsp_cons) <= 1)
-            break;
+            goto fail1;
     }
 
-    BlkifRing->Front.req_prod_pvt = req_prod;
-
     return STATUS_SUCCESS;
 
 fail1:
-- 
2.16.2.windows.1
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/win-pv-devel
 
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |