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

[PATCH v2 1/2] xenvif: fix TX doorbell coalescing for ALGORITHM_NONE traffic


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: david ambu <david.preetham@xxxxxxxxxx>
  • Date: Mon, 28 Sep 2026 11:40:07 +0100
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=citrix.com header.i="@citrix.com" header.h="Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From"
  • Cc: david ambu <david.preetham@xxxxxxxxxx>
  • Delivery-date: Mon, 28 Sep 2026 10:42:28 +0000
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Each NBL carries a single hash value covering all its NET_BUFFERs.
All NB within the same NBL therefore map to the same TX ring, so the
ring doorbell can be deferred across NB and fired once at the NBL
boundary when More=FALSE.

TransmitterQueuePacket was overriding More=FALSE unconditionally in
the XENVIF_PACKET_HASH_ALGORITHM_NONE case, causing a ring kick on
every individual NET_BUFFER instead of once per NBL.

Removing the override lets the More flag from xennet flow through
correctly, so ALGORITHM_NONE traffic gets the same per-NBL kick
behaviour as ALGORITHM_TOEPLITZ.

Assisted-by: Claude (AI assistant)
Signed-off-by: david ambu <david.preetham@xxxxxxxxxx>
---
 src/xenvif/transmitter.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/xenvif/transmitter.c b/src/xenvif/transmitter.c
index 8c4ee41..ad58336 100644
--- a/src/xenvif/transmitter.c
+++ b/src/xenvif/transmitter.c
@@ -5245,7 +5245,6 @@ TransmitterQueuePacket(
     switch (Algorithm) {
     case XENVIF_PACKET_HASH_ALGORITHM_NONE:
         Value = __TransmitterHashPacket(Transmitter, Packet);
-        More = FALSE;
         break;
 
     case XENVIF_PACKET_HASH_ALGORITHM_UNSPECIFIED:
-- 
2.51.0.windows.1




 


Rackspace

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