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

[PATCH v2 2/4] Move __ReceiverRingReturnPacket below ReceiverRingFill


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Date: Wed, 15 Jul 2026 12:19:27 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
  • Cc: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Delivery-date: Wed, 15 Jul 2026 10:19:45 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

__ReceiverRingReturnPacket will make use of ReceiverRingFill later.

Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
 src/xenvif/receiver.c | 86 +++++++++++++++++++++----------------------
 1 file changed, 43 insertions(+), 43 deletions(-)

diff --git a/src/xenvif/receiver.c b/src/xenvif/receiver.c
index 749de28..bc6dcef 100644
--- a/src/xenvif/receiver.c
+++ b/src/xenvif/receiver.c
@@ -1711,49 +1711,6 @@ __ReceiverRingSend(
         __ReceiverRingReleaseLock(Ring);
 }
 
-_IRQL_requires_(DISPATCH_LEVEL)
-static FORCEINLINE VOID
-__ReceiverRingReturnPacket(
-    IN  PXENVIF_RECEIVER_RING   Ring,
-    IN  PXENVIF_RECEIVER_PACKET Packet,
-    IN  BOOLEAN                 Locked
-    )
-{
-    PMDL                        Mdl;
-
-    Mdl = &Packet->Mdl;
-
-    while (Mdl != NULL) {
-        PMDL    Next;
-
-        Next = Mdl->Next;
-        Mdl->Next = NULL;
-
-        __ReceiverRingPutMdl(Ring, Mdl, Locked);
-
-        Mdl = Next;
-    }
-
-    if (__ReceiverRingIsStopped(Ring)) {
-        KIRQL   Irql;
-
-        KeRaiseIrql(DISPATCH_LEVEL, &Irql);
-
-        if (!Locked)
-            __ReceiverRingAcquireLock(Ring);
-
-        if (__ReceiverRingIsStopped(Ring)) {
-            __ReceiverRingStart(Ring);
-            __ReceiverRingTrigger(Ring, TRUE);
-        }
-
-        if (!Locked)
-            __ReceiverRingReleaseLock(Ring);
-
-        KeLowerIrql(Irql);
-    }
-}
-
 static FORCEINLINE PXENVIF_RECEIVER_FRAGMENT
 __ReceiverRingPreparePacket(
     IN  PXENVIF_RECEIVER_RING   Ring,
@@ -1893,6 +1850,49 @@ ReceiverRingFill(
     __ReceiverRingPushRequests(Ring);
 }
 
+_IRQL_requires_(DISPATCH_LEVEL)
+static FORCEINLINE VOID
+__ReceiverRingReturnPacket(
+    IN  PXENVIF_RECEIVER_RING   Ring,
+    IN  PXENVIF_RECEIVER_PACKET Packet,
+    IN  BOOLEAN                 Locked
+    )
+{
+    PMDL                        Mdl;
+
+    Mdl = &Packet->Mdl;
+
+    while (Mdl != NULL) {
+        PMDL    Next;
+
+        Next = Mdl->Next;
+        Mdl->Next = NULL;
+
+        __ReceiverRingPutMdl(Ring, Mdl, Locked);
+
+        Mdl = Next;
+    }
+
+    if (__ReceiverRingIsStopped(Ring)) {
+        KIRQL   Irql;
+
+        KeRaiseIrql(DISPATCH_LEVEL, &Irql);
+
+        if (!Locked)
+            __ReceiverRingAcquireLock(Ring);
+
+        if (__ReceiverRingIsStopped(Ring)) {
+            __ReceiverRingStart(Ring);
+            __ReceiverRingTrigger(Ring, TRUE);
+        }
+
+        if (!Locked)
+            __ReceiverRingReleaseLock(Ring);
+
+        KeLowerIrql(Irql);
+    }
+}
+
 static FORCEINLINE VOID
 __ReceiverRingEmpty(
     IN  PXENVIF_RECEIVER_RING   Ring
-- 
2.54.0.windows.1



--
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

 


Rackspace

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