[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[win-pv-devel] [PATCH-for-8.2 xenvbd] Back-port rsp_event manipulation changes from master



Rather than updating rsp_event at the end of every poll, the code in
master sets it to req_prod_pvt during submission to attempt to defer events
until the last request has been processed.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
 src/xenvbd/blockring.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/xenvbd/blockring.c b/src/xenvbd/blockring.c
index 7cf5c84..b4688e7 100644
--- a/src/xenvbd/blockring.c
+++ b/src/xenvbd/blockring.c
@@ -549,7 +549,6 @@ BlockRingPoll(
         KeMemoryBarrier();
 
         BlockRing->FrontRing.rsp_cons = rsp_cons;
-        BlockRing->SharedRing->rsp_event = rsp_cons + 1;
     }
 
 done:
@@ -575,7 +574,7 @@ BlockRingSubmit(
     req = RING_GET_REQUEST(&BlockRing->FrontRing, 
BlockRing->FrontRing.req_prod_pvt);
     __BlockRingInsert(BlockRing, Request, req);
     KeMemoryBarrier();
-    ++BlockRing->FrontRing.req_prod_pvt;
+    BlockRing->SharedRing->rsp_event = ++BlockRing->FrontRing.req_prod_pvt;
 
     RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&BlockRing->FrontRing, Notify);
     KeReleaseSpinLock(&BlockRing->Lock, Irql);
-- 
2.5.3


_______________________________________________
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®.