From: "Michael S. Tsirkin" <mst@redhat.com>
To: Herbert Xu <herbert@gondor.hengli.com.au>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
"Jamal Hadi Salim" <hadi@cyberus.ca>,
"Stephen Hemminger" <shemminger@vyatta.com>,
"Jason Wang" <jasowang@redhat.com>,
"Neil Horman" <nhorman@tuxdriver.com>,
"Jiri Pirko" <jpirko@redhat.com>,
"Jeff Kirsher" <jeffrey.t.kirsher@intel.com>,
"Eric Dumazet" <eric.dumazet@gmail.com>,
"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
"Ben Hutchings" <bhutchings@solarflare.com>
Subject: Re: [PATCH] net: orphan queued skbs if device tx can stall
Date: Mon, 9 Apr 2012 10:39:54 +0300 [thread overview]
Message-ID: <20120409073953.GD12014@redhat.com> (raw)
In-Reply-To: <20120409073354.GA3218@gondor.apana.org.au>
On Mon, Apr 09, 2012 at 03:33:54PM +0800, Herbert Xu wrote:
> On Mon, Apr 09, 2012 at 10:28:49AM +0300, Michael S. Tsirkin wrote:
> >
> > > 1) Doesn't this break local UDP push-back?
> >
> > What is meant by UDP pushback here? Two tap
> > devices communicating by UDP packets locally?
> > This was always broken, see below.
>
> I mean push-back from UDP transmission to the physical NIC.
>
> Your patch breaks that
I think there's some misunderstanding. pushback is only disabled
for destinations that set IFF_TX_CAN_STALL. I expect that
no physical NICs set this flag - only tun and possibly
other userspace-controlled devices in the future.
> as now the guest will have no push-back
> whatsoever so anything that transmits UDP without protocol-level
> congestion control will start dropping most of their packets.
>
> Granted you can argue that these apps are broken, but they do
> exist and we've always catered for them, both on baremetal and
> under virtualisation.
> > Thus we get this situation
> > tap1 sends packets, some of them to tap2, tap2 does not consume them,
> > as a result tap2 queue overflows, tap2 stops forever and
> > packets get queued in the qdisc, now tap1
> > send buffer gets full so it can not communicate to any destination.
> >
> > So the problem is one VM can block all networking from another one.
>
> This should be addressed in the backend, as it can distinguish
> between packets going out to physical and packets stuck going to
> a local VM.
Sorry I still have no clue what you call a backend.
Could you clarify please? All packets from a tun device
go to userspace.
> In the latter case you can then duplicate and release
> the sender's memory.
>
> Cheers,
The problem this patch is trying to address is tun device
can get stopped forever, which causes packets to
accumulate in qdisc again forever. So tun does not
get a chance to release sender's memory for these packets.
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
next prev parent reply other threads:[~2012-04-09 7:39 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-08 17:13 [PATCH] net: orphan queued skbs if device tx can stall Michael S. Tsirkin
2012-04-08 23:49 ` Herbert Xu
2012-04-09 7:28 ` Michael S. Tsirkin
2012-04-09 7:33 ` Herbert Xu
2012-04-09 7:39 ` Michael S. Tsirkin [this message]
2012-04-09 8:29 ` Herbert Xu
2012-04-09 8:34 ` Michael S. Tsirkin
2012-04-09 8:39 ` Herbert Xu
2012-04-09 8:42 ` Michael S. Tsirkin
2012-04-09 9:13 ` Eric Dumazet
2012-04-10 7:55 ` Eric Dumazet
2012-04-10 8:41 ` Michael S. Tsirkin
2012-04-10 8:55 ` Eric Dumazet
2012-04-10 9:31 ` Michael S. Tsirkin
2012-04-10 10:04 ` Eric Dumazet
2012-04-10 11:25 ` Michael S. Tsirkin
2012-04-10 11:45 ` Eric Dumazet
2012-04-10 12:41 ` Michael S. Tsirkin
2012-04-10 13:52 ` Eric Dumazet
2012-04-10 14:10 ` Michael S. Tsirkin
2012-04-11 21:52 ` Michael S. Tsirkin
2012-05-08 19:35 ` Michael S. Tsirkin
2012-05-08 19:50 ` Michael S. Tsirkin
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=20120409073953.GD12014@redhat.com \
--to=mst@redhat.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=hadi@cyberus.ca \
--cc=herbert@gondor.hengli.com.au \
--cc=jasowang@redhat.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jpirko@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mirq-linux@rere.qmqm.pl \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=shemminger@vyatta.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).