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

Re: [Xen-devel] [PATCH net] xen-netfront: fix missing rx_refill_timer when allocate memory failed

From: Ma JieYue <majieyue@xxxxxxxxx>
Date: Fri, 15 Nov 2013 12:26:13 +0800

> From: Ma JieYue <jieyue.majy@xxxxxxxxxxxxxxx>
> There was a bug in xennet_alloc_rx_buffers, when allocating page or
> sk_buff failed, and at the same time rx_batch queue not empty,
> the rx_refill_timer timer won't be scheduled. If finally the remaining
> request buffers in rx ring less than what backend driver expected,
> the backend driver would think of rx ring as full and start dropping packets.
> In such situation, there is no way for the netfront driver to recover
> automatically, so that the device can not work properly.
> The patch fixes the problem by always scheduling rx_refill_timer timer when
> alloc_page or __netdev_alloc_skb fails, no matter whether rx_batch queue is
> empty or not. It ensures that the rx ring request buffers will finally meet
> the backend needs.
> Signed-off-by: Ma JieYue <jieyue.majy@xxxxxxxxxxxxxxx>

Looks good, applied, thanks!

Xen-devel mailing list



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