[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


  • To: <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Owen Smith <owen.smith@xxxxxxxxxx>
  • Date: Tue, 3 Sep 2019 15:43:17 +0100
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=owen.smith@xxxxxxxxxx; spf=Pass smtp.mailfrom=owen.smith@xxxxxxxxxx; spf=None smtp.helo=postmaster@xxxxxxxxxxxxxxx
  • Cc: Owen Smith <owen.smith@xxxxxxxxxx>
  • Delivery-date: Tue, 03 Sep 2019 14:43:56 +0000
  • Ironport-sdr: 75afmBbKH32RrqiDVE79G8js7cUKqjYN1CZsqBnw7WZDeZ8yjJgK1qVhVjKBaeXFY85V8Ns0Km GFqr8Rpfx+YkC2T2I0NGvV9hOGWapeWbg6H2OA0EvwkshkMZyu+WxbGgAmmXy5z/SiYOEsyOfu jIiGgqV9Cf4UgSeMvy+miIRPXM+0cGchO0NkXkq/i5jUv/QyRQhkd68V6HKNIudj+4Fa3pWXzg Fte9MAPorkBZz5luuAxyaJO1O254HYsjuGfU3UoYJdUdaXdlAErRduMcnIrSJXU797j6IrTDkb Gek=
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.