Kirk Allan
2006-Nov-06 22:50 UTC
[Xen-devel] [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> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Nov-06 23:13 UTC
Re: [Xen-devel] [PATCH] netback: tx stalls with default credit_bytes
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