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

Re: [PATCH] xenvif: fix TX doorbell coalescing for ALGORITHM_NONE traffic


  • To: david ambu <david.preetham@xxxxxxxxxx>, win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
  • Date: Sun, 27 Sep 2026 14:28:31 +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: "Claude Sonnet 4.6" <noreply@xxxxxxxxxxxxx>
  • Delivery-date: Sun, 27 Sep 2026 12:28:44 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

On 25/09/2026 16:02, david ambu wrote:
> 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.
> 
> Signed-off-by: david ambu <david.preetham@xxxxxxxxxx>
> Co-Authored-By: Claude Sonnet 4.6 <noreply@xxxxxxxxxxxxx>

Following the Xen patch submission guidelines [1], if LLM assistance is 
indicated in the patch, please use the tag form "Assisted-by".

Reviewed-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>

[1] 
https://github.com/xen-project/xen/blob/4c1aba82cff95ab11f7fe4af8965a06703537288/docs/process/sending-patches.pandoc#L198

> ---
>   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:



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