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

Re: [Xen-devel] [PATCH net v3 2/2] xen-netback: napi: don't prematurely request a tx event


  • To: Malcolm Crossley <malcolm.crossley@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxx>
  • From: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
  • Date: Wed, 11 Dec 2013 10:34:10 +0000
  • Accept-language: en-GB, en-US
  • Delivery-date: Wed, 11 Dec 2013 10:34:21 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: AQHO9a1MTFPkbIQgoky5sDc1C8xMtJpNo28AgAEqIOA=
  • Thread-topic: [Xen-devel] [PATCH net v3 2/2] xen-netback: napi: don't prematurely request a tx event

> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel-
> bounces@xxxxxxxxxxxxx] On Behalf Of Malcolm Crossley
> Sent: 10 December 2013 17:47
> To: xen-devel@xxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH net v3 2/2] xen-netback: napi: don't
> prematurely request a tx event
> 
> On 10/12/13 13:39, Paul Durrant wrote:
> > This patch changes the RING_FINAL_CHECK_FOR_REQUESTS in
> > xenvif_build_tx_gops to a check for RING_HAS_UNCONSUMED_REQUESTS
> as the
> > former call has the side effect of advancing the ring event pointer and
> > therefore inviting another interrupt from the frontend before the napi
> > poll has actually finished, thereby defeating the point of napi.
> Reported-by: Malcolm Crossley <malcolm.crossley@xxxxxxxxxx>

Apologies. Indeed I should have added that to my commit comment.

  Paul

> > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> > Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> > Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > Cc: David Vrabel <david.vrabel@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 83b4e5b..fb512a9 100644
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -1381,7 +1381,7 @@ static unsigned xenvif_tx_build_gops(struct
> xenvif *vif, int budget)
> >                     continue;
> >             }
> >
> > -           RING_FINAL_CHECK_FOR_REQUESTS(&vif->tx,
> work_to_do);
> > +           work_to_do = RING_HAS_UNCONSUMED_REQUESTS(&vif-
> >tx);
> >             if (!work_to_do)
> >                     break;
> >
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
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®.