All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sander Eikelenboom <linux@eikelenboom.it>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH net v2 1/3] xen-netback: remove pointless clause from if statement
Date: Thu, 27 Mar 2014 15:05:07 +0100	[thread overview]
Message-ID: <184827204.20140327150507__22910.6980179951$1395929214$gmane$org@eikelenboom.it> (raw)
In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD029CA38@AMSPEX01CL01.citrite.net>


Thursday, March 27, 2014, 3:00:14 PM, you wrote:

>> -----Original Message-----
>> From: Sander Eikelenboom [mailto:linux@eikelenboom.it]
>> Sent: 27 March 2014 13:46
>> To: Paul Durrant
>> Cc: xen-devel@lists.xen.org; netdev@vger.kernel.org; Ian Campbell; Wei Liu
>> Subject: Re: [PATCH net v2 1/3] xen-netback: remove pointless clause from if
>> statement
>> 
>> 
>> Thursday, March 27, 2014, 1:56:11 PM, you wrote:
>> 
>> > This patch removes a test in start_new_rx_buffer() that checks whether
>> > a copy operation is less than MAX_BUFFER_OFFSET in length, since
>> > MAX_BUFFER_OFFSET is defined to be PAGE_SIZE and the only caller of
>> > start_new_rx_buffer() already limits copy operations to PAGE_SIZE or less.
>> 
>> > Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
>> > Cc: Ian Campbell <ian.campbell@citrix.com>
>> > Cc: Wei Liu <wei.liu2@citrix.com>
>> > Cc: Sander Eikelenboom <linux@eikelenboom.it>
>> > ---
>> 
>> > v2:
>> >  - Add BUG_ON() as suggested by Ian Campbell
>> 
>> >  drivers/net/xen-netback/netback.c |    4 ++--
>> >  1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> > diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-
>> netback/netback.c
>> > index 438d0c0..72314c7 100644
>> > --- a/drivers/net/xen-netback/netback.c
>> > +++ b/drivers/net/xen-netback/netback.c
>> > @@ -192,8 +192,8 @@ static bool start_new_rx_buffer(int offset,
>> unsigned long size, int head)
>> >          * into multiple copies tend to give large frags their
>> >          * own buffers as before.
>> >          */
>> > -       if ((offset + size > MAX_BUFFER_OFFSET) &&
>> > -           (size <= MAX_BUFFER_OFFSET) && offset && !head)
>> > +       BUG_ON(size > MAX_BUFFER_OFFSET);
>> > +       if ((offset + size > MAX_BUFFER_OFFSET) && offset && !head)
>> >                 return true;
>> >
>> >         return false;
>> 
>> Hi Paul,
>> 
>> Unfortunately .. no good ..
>> 
>> With these patches (v2) applied to 3.14-rc8 it all seems to work well,
>> until i do my test case .. it still chokes and now effectively permanently stalls
>> network traffic to that guest.
>> 
>> No error messages or anything in either xl dmesg or dmesg on the host .. and
>> nothing in dmesg in the guest either.
>> 
>> But in the guest the TX bytes ifconfig reports for eth0 still increase but RX
>> bytes does nothing, so it seems only the RX path is effected)
>> 
>> So it now seems i now have the situation which you described in the commit
>> message from "ca2f09f2b2c6c25047cfc545d057c4edfcfe561c",
>> "Without this patch I can trivially stall netback permanently by just doing a
>> large guest to guest file copy between two Windows Server 2008R2 VMs on a
>> single host."
>> 

> Assuming it is similar, then the tx queue should be stalled. It's possible the frontend is not posting enough rx requests into the ring to take the packet. Can you tell if this is happening?

How would i do that ?
(and it seems unlikely since that case that triggers is .. is swamping the interface with both inbound and outbound traffic)

>   Paul

>> --
>> Sander

  reply	other threads:[~2014-03-27 14:05 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-27 12:56 [PATCH net v2 0/3] xen-netback: fix rx slot estimation Paul Durrant
2014-03-27 12:56 ` [PATCH net v2 1/3] xen-netback: remove pointless clause from if statement Paul Durrant
2014-03-27 12:56 ` Paul Durrant
2014-03-27 13:45   ` Sander Eikelenboom
2014-03-27 13:45   ` Sander Eikelenboom
2014-03-27 13:54     ` Paul Durrant
2014-03-27 13:54     ` Paul Durrant
2014-03-27 14:02       ` Sander Eikelenboom
2014-03-27 14:09         ` Paul Durrant
2014-03-27 14:29           ` Sander Eikelenboom
2014-03-27 14:29           ` Sander Eikelenboom
2014-03-27 14:38             ` Paul Durrant
2014-03-27 14:38             ` Paul Durrant
2014-03-27 16:46           ` Sander Eikelenboom
2014-03-27 16:54             ` Paul Durrant
2014-03-27 17:15               ` Sander Eikelenboom
2014-03-27 17:26                 ` Paul Durrant
2014-03-27 17:26                 ` Paul Durrant
2014-03-27 18:34                   ` Sander Eikelenboom
2014-03-27 19:22                     ` [Xen-devel] " Sander Eikelenboom
2014-03-28  9:30                       ` Paul Durrant
2014-03-28  9:30                       ` [Xen-devel] " Paul Durrant
2014-03-28  9:39                         ` Sander Eikelenboom
2014-03-28  9:47                           ` Paul Durrant
2014-03-28  9:59                             ` Sander Eikelenboom
2014-03-28 10:12                               ` Paul Durrant
2014-03-28 10:36                                 ` Sander Eikelenboom
2014-03-28 10:36                                 ` [Xen-devel] " Sander Eikelenboom
2014-03-28 10:12                               ` Paul Durrant
2014-03-28  9:59                             ` Sander Eikelenboom
2014-03-28 10:01                             ` David Laight
2014-03-28 10:01                             ` [Xen-devel] " David Laight
2014-03-28 10:20                               ` Paul Durrant
2014-03-28 10:35                                 ` David Laight
2014-03-28 10:35                                 ` [Xen-devel] " David Laight
2014-03-28 10:42                                   ` Sander Eikelenboom
2014-03-28 10:42                                   ` [Xen-devel] " Sander Eikelenboom
2014-03-28 10:47                                     ` Paul Durrant
2014-03-28 10:47                                     ` [Xen-devel] " Paul Durrant
2014-03-28 10:53                                       ` Sander Eikelenboom
2014-03-28 10:53                                       ` [Xen-devel] " Sander Eikelenboom
2014-03-28 11:11                                     ` David Laight
2014-03-28 11:35                                       ` Sander Eikelenboom
2014-03-28 11:35                                       ` Sander Eikelenboom
2014-03-28 11:11                                     ` David Laight
2014-03-28 10:44                                   ` Paul Durrant
2014-03-28 10:44                                   ` [Xen-devel] " Paul Durrant
2014-03-28 10:20                               ` Paul Durrant
2014-03-28  9:47                           ` Paul Durrant
2014-03-28  9:39                         ` Sander Eikelenboom
2014-03-27 19:22                     ` Sander Eikelenboom
2014-03-28  0:55                     ` Sander Eikelenboom
2014-03-28  0:55                     ` [Xen-devel] " Sander Eikelenboom
2014-03-28  9:36                       ` Paul Durrant
2014-03-28  9:36                       ` [Xen-devel] " Paul Durrant
2014-03-28  9:46                         ` Sander Eikelenboom
2014-03-28  9:46                         ` [Xen-devel] " Sander Eikelenboom
2014-03-27 18:34                   ` Sander Eikelenboom
2014-03-27 17:15               ` Sander Eikelenboom
2014-03-27 16:54             ` Paul Durrant
2014-03-27 16:46           ` Sander Eikelenboom
2014-03-27 14:09         ` Paul Durrant
2014-03-27 14:02       ` Sander Eikelenboom
2014-03-27 14:00     ` Paul Durrant
2014-03-27 14:05       ` Sander Eikelenboom [this message]
2014-03-27 14:05       ` Sander Eikelenboom
2014-03-27 14:00     ` Paul Durrant
2014-03-27 12:56 ` [PATCH net v2 2/3] xen-netback: worse-case estimate in xenvif_rx_action is underestimating Paul Durrant
2014-03-27 12:56 ` Paul Durrant
2014-03-27 12:56 ` [PATCH net v2 3/3] xen-netback: BUG_ON in xenvif_rx_action() not catching overflow Paul Durrant
2014-03-27 12:56 ` Paul Durrant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='184827204.20140327150507__22910.6980179951$1395929214$gmane$org@eikelenboom.it' \
    --to=linux@eikelenboom.it \
    --cc=Ian.Campbell@citrix.com \
    --cc=Paul.Durrant@citrix.com \
    --cc=netdev@vger.kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.