Re: [PATCH net V2] xen-netback: don't move event pointer in TX credit timeout callback
From: Wei Liu <hidden>
Date: 2014-05-15 13:58:34
On Thu, May 15, 2014 at 03:04:36PM +0200, Jacek Konieczny wrote:
On 05/15/14 13:59, Wei Liu wrote:quoted
... otherwise the frontend will try to send TX event all the time, even if no progress can be made. The pointer should only be advanced by the routine that actually processes the ring (that is, xenvif_poll). Reported-by: Jacek Konieczny <redacted> Signed-off-by: Wei Liu <redacted> Acked-by: Ian Campbell <redacted> Cc: Paul Durrant <redacted> --- drivers/net/xen-netback/netback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index 7666540..8e2cbeb 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c@@ -658,7 +658,7 @@ void xenvif_check_rx_xenvif(struct xenvif *vif) { int more_to_do; - RING_FINAL_CHECK_FOR_REQUESTS(&vif->tx, more_to_do); + more_to_do = RING_HAS_UNCONSUMED_REQUESTS(&vif->tx);Unfortunately, this seems not enough to fix the problem I have reported here: http://lists.xenproject.org/archives/html/xen-devel/2014-05/msg01183.html The dom0 network still stalls when using rate limiting on a VIF interface after applying this patch to my 3.14.3 kernel (100% CPU#1 usage in the 'soft interrupts').
Oh I was looking at the aggregated stats that's why the number looked normal to me. :-/
Greets, Jacek