|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/2] xennet: fix TX doorbell coalescing — More flag dropped at NBL boundaries
On 17/09/2026 17:43, david ambu wrote:
> __TransmitterSendNetBufferList computed the More flag as
> (NET_BUFFER_NEXT_NB(NetBuffer) != NULL), which only looks at remaining
> NET_BUFFERs within the current NBL. This evaluates to FALSE for the last
> NB of every NBL, even when the outer loop in TransmitterSendNetBufferLists
> still has additional NBLs to submit in the same batch.
>
> Assisted-by: ClaudeCode:claude-opus-4.8
> Signed-off-by: david ambu <david.preetham@xxxxxxxxxx>
Please don't use the Unicode '—' in the commit message.
> ---
> src/xennet/transmitter.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/src/xennet/transmitter.c b/src/xennet/transmitter.c
> index 4bb82bc..e17d89f 100644
> --- a/src/xennet/transmitter.c
> +++ b/src/xennet/transmitter.c
> @@ -288,7 +288,8 @@ __TransmitterHash(
> static VOID
> __TransmitterSendNetBufferList(
> IN PXENNET_TRANSMITTER Transmitter,
> - IN PNET_BUFFER_LIST NetBufferList
> + IN PNET_BUFFER_LIST NetBufferList,
> + IN BOOLEAN MoreNbls
> )
> {
> PNET_BUFFER_LIST_RESERVED ListReserved;
> @@ -338,7 +339,7 @@ __TransmitterSendNetBufferList(
> MaximumSegmentSize,
> TagControlInformation,
> &Hash,
> - (NetBufferListNext != NULL) ? TRUE : FALSE,
> + (NetBufferListNext != NULL || MoreNbls) ?
> TRUE : FALSE,
> Cookie);
> }
> else
> @@ -384,7 +385,9 @@ TransmitterSendNetBufferLists(
> ListNext = NET_BUFFER_LIST_NEXT_NBL(NetBufferList);
> NET_BUFFER_LIST_NEXT_NBL(NetBufferList) = NULL;
>
> - __TransmitterSendNetBufferList(Transmitter, NetBufferList);
> + __TransmitterSendNetBufferList(Transmitter,
> + NetBufferList,
> + (ListNext != NULL) ? TRUE : FALSE);
>
> NetBufferList = ListNext;
> }
--
Ngoc Tu Dinh | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |