Mailing List Archive

[PATCH] netback: tx stalls with default credit_bytes
This situation happens when netif->credit_bytes is using the default of ~0UL, effectively -1. Once the current tx packet size is greater than the netif->remaining_credit, transmits will stall until netif->remaining_credit wraps back to ~0UL in tx_add_credit(). The min(netif->remaining_credit + netif->credit_bytes, max_burst) has the effect of decrementing netif->remaining_credit by 1. The min will continually be less than the current tx packet size until tx_add_credit() is called packet size times which allows netif->remaining_credit to wrap back to ~0UL.

The patch splits the min() into two steps to eliminate the case of adding by -1.

signed-of-by Kirk Allan <kallan@novell.com>
Re: [PATCH] netback: tx stalls with default credit_bytes [ In reply to ]
On 6/11/06 10:50 pm, "Kirk Allan" <kallan@novell.com> wrote:

> This situation happens when netif->credit_bytes is using the default of ~0UL,
> effectively -1. Once the current tx packet size is greater than the
> netif->remaining_credit, transmits will stall until netif->remaining_credit
> wraps back to ~0UL in tx_add_credit(). The min(netif->remaining_credit +
> netif->credit_bytes, max_burst) has the effect of decrementing
> netif->remaining_credit by 1. The min will continually be less than the
> current tx packet size until tx_add_credit() is called packet size times which
> allows netif->remaining_credit to wrap back to ~0UL.
>
> The patch splits the min() into two steps to eliminate the case of adding by
> -1.

Nice catch. Thanks.

-- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel