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

Re: [Xen-devel] Xen-unstable Linux 3.14-rc3 and 3.13 Network troubles "bisected"



On Wed, Mar 12, 2014 at 05:47:29PM +0100, Sander Eikelenboom wrote:
> 
> Wednesday, March 12, 2014, 4:45:01 PM, you wrote:
> 
> > On Wed, Mar 12, 2014 at 04:20:03PM +0100, Sander Eikelenboom wrote:
> > [...]
> >> 
> >> > Sorry, remove the trailing "S". Actually you only need to look at 
> >> > netback.c.
> >> 
> >> What producer index to compare with .. there are quite some 
> >> RING_GET_REQUESTS .. and i see:
> >> npo->meta_prod
> >> vif->rx.sring->req_prod
> >> vif->pending_prod
> >> 
> >> to name a few ..
> >> Any particular RING_GET_REQUESTS call and particular producer index you 
> >> are interested in ?
> >> 
> 
> > There are two macros you can use
> 
> > RING_REQUEST_CONS_OVERFLOW and RING_REQUEST_PROD_OVERFLOW.
> 
> Ah i already produced my own .. diff to netback is attached ..
> 
> Netback:
> Mar 12 17:41:26 serveerstertje kernel: [  464.778614] vif vif-7-0 vif7.0: ?!? 
> npo->meta_prod:37 vif->rx.sring->req_prod:431006 vif->rx.req_cons:431007
> Mar 12 17:41:26 serveerstertje kernel: [  464.786203] vif vif-7-0 vif7.0: ?!? 
> npo->meta_prod:38 vif->rx.sring->req_prod:431006 vif->rx.req_cons:431008

req_prod < req_cons, so there's an overflow. I'm actually curious how
this could happen.

Back to the code, before netback enqueues SKB to its internal queue, it
will check if there's enough room in the ring. Before Paul's changeset,
it checks against a static number (the possible maximum slots that can
be consumed by an SKB). Paul's changeset made it check against the
actual slots the incoming SKB consumes. See
interface.c:xenvif_start_xmit.  Another interesting site would be when
the SKB is broken down later on in internal queue. See
netback.c:xenvif_rx_action. The routine to break down an SKB is
xenvif_gop_skb.

Although they look alright to me, but you might want to instrument them
a bit more to see what triggers that overflow. It's a bit frustrating,
but a bug that cannot be easily reproduced is indeed extremely hard to
fix.

Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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