[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH net V2] xen-netback: don't move event pointer in TX credit timeout callback
On 15/05/14 12:59, Wei Liu wrote: > ... 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). No it does not. RING_FINAL_CHECK_FOR_REQUESTS() only advances the event index if the ring is empty. This will also result in xenvif_up() failing to properly enable the event. I think Jacek's bug may be that netback fails to call napi_complete() when credit is exceeded and there still outstanding requests on the from-guest ring and thus napi repeatedly polls. David > > Reported-by: Jacek Konieczny <jajcus@xxxxxxxxxx> > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> > Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > Cc: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > 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); > > if (more_to_do) > napi_schedule(&vif->napi); > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |