qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Scott Feldman <sfeldma@gmail.com>
Cc: "Jiří Pírko" <jiri@resnulli.us>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [Qemu-devel] (no subject)
Date: Tue, 30 Jun 2015 15:18:13 +0800	[thread overview]
Message-ID: <20150630071813.GB5599@ad.nay.redhat.com> (raw)
In-Reply-To: <CAE4R7bD3CwDO-xVaCMAzu6dWDUSxBZCAAMsa1prMCNo2TSUzCw@mail.gmail.com>

On Tue, 06/30 00:49, Scott Feldman wrote:
> Hi Fam, Stefan,
> 
> I'm running a test with rocker device using UDP sockets connections
> and I'm seeing the socket s->read_poll stay disabled if the device
> receives a packet when the device's can_receive returns false.
> Receive is stuck after that; nothing ever re-enables s->read_poll.  I
> see the first packet queued on queue->packets and that's it.   No more
> receives.  If I modify the device to lie and always return
> can_receive=true, and drop the pkt in driver receive, then things work
> fine.
> 
> I think this patch broke can_receive semantics for net/socket.c:

Yes. The semantics now is if .can_receive returns false, the NIC needs to flush
the queue explicitly when the conditions in .can_receive become true, because
net/{socket,tap,...} no longer polls .can_receive().
> 
> commit 6e99c631f116221d169ea53953d91b8aa74d297a
> Author: Fam Zheng <famz@redhat.com>
> Date:   Thu Jun 4 14:45:16 2015 +0800
> 
>     net/socket: Drop net_socket_can_send
> 
> Anything jump out?
> 
> (In the test, rocker device is enabling the netdev port once the guest
> OS driver signals to enable the port based on STP process running on
> the guest.  The initial STP state is DISABLED, so the port is isolated
> from the network.  As STP algo progresses, the port is opened up and
> the netdev is enabled for Rx traffic).
> 
> -scott
> 

Does dropping .can_receive or forcing 1 work for you? Or maybe something like
this:

diff --git a/hw/net/rocker/rocker_fp.c b/hw/net/rocker/rocker_fp.c
index d8d934c..3209ccd 100644
--- a/hw/net/rocker/rocker_fp.c
+++ b/hw/net/rocker/rocker_fp.c
@@ -203,6 +203,7 @@ void fp_port_enable(FpPort *port)
     fp_port_set_link(port, true);
     port->enabled = true;
     DPRINTF("port %d enabled\n", port->index);
+    qemu_flush_queued_packets(qemu_get_queue(port->nic));
 }
 
 void fp_port_disable(FpPort *port)

---

Fam

  reply	other threads:[~2015-06-30  7:18 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-30  4:49 [Qemu-devel] (no subject) Scott Feldman
2015-06-30  7:18 ` Fam Zheng [this message]
2015-06-30 14:22   ` Scott Feldman
  -- strict thread matches above, loose matches on Subject: below --
2019-02-25 13:18 Yang Weijiang
2019-01-02  2:02 Yaowei Bai
2018-12-13 10:10 Илья Резников
2018-11-28  1:08 John Arbuckle
2018-11-28 19:39 ` Peter Maydell
2018-11-29  0:21   ` Programmingkid
2018-11-29  2:11     ` berkus infinitus
2018-11-29 10:18       ` Peter Maydell
2018-07-22  9:13 Liujinsong (Paul)
2018-06-20  7:32 [Qemu-devel] [PATCH v5 0/7] monitor: enable OOB by default Peter Xu
2018-06-26 17:21 ` [Qemu-devel] (no subject) Markus Armbruster
2017-10-12 23:54 Anatol Pomozov
2017-08-07 16:34 Eduardo Otubo
2017-08-07 13:31 vaibhav shukla
2017-05-17 22:42 John Bradley
2017-05-18  5:29 ` no-reply
2017-05-18  5:31 ` no-reply
     [not found] <CAMj-D2DO_CfvD77izsGfggoKP45HSC9aD6auUPAYC9Yeq_aX7w@mail.gmail.com>
2017-05-04 16:44 ` gengdongjiu
2017-03-21 14:03 [Qemu-devel] [PATCH] qemu-ga: add guest-get-osinfo command Vinzenz Feenstra
2017-03-16 14:50 ` [Qemu-devel] (no subject) Vinzenz 'evilissimo' Feenstra
2017-03-23 13:44   ` Eric Blake
2017-02-24 13:19 Eric Bischoff
2017-02-17 15:42 Pranith Kumar
2017-01-02 12:03 morgenlette madeBy
2017-01-03 16:36 ` Stefan Hajnoczi
2016-11-16 19:41 Christopher Oliver
2016-11-17  9:15 ` Thomas Huth
2016-10-30 15:30 Pradeep Jagadeesh
2016-10-20  6:59 Nicholas Piggin
2016-10-12 21:49 Neeraj Sharma
2016-10-02  6:47 Shreya Shrivastava
2016-09-12 21:23 Stephen Bates
2016-09-13  2:28 ` Fam Zheng
2016-09-19 15:54   ` Stephen Bates
2016-07-31 15:07 Kumud Bhat
2016-03-21  8:44 Yunqiang Gao
2016-03-21 18:00 ` John Snow
2016-03-21 21:09   ` Peter Maydell
2016-03-22 21:45     ` John Snow
2016-01-15 10:06 Liang Li
2015-11-17 13:08 Christoph Hellwig
2015-11-17 17:29 ` Paolo Bonzini
2015-07-14  7:33 Pankaj Gupta
2015-07-02 16:18 Denis V. Lunev
2015-05-03 14:10 yhindin
2015-05-03 14:10 yhindin
2015-05-03 14:10 yhindin
2015-05-03 14:07 yhindin
2015-05-03 14:07 yhindin
2015-02-22  1:00 Sunil Kumar
2014-12-06 10:54 Jun Li
2014-11-10  3:14 xubin yan
2014-09-17 16:20 Priyanka Ranjan
2014-06-12 14:45 Puneet Bakshi
2014-02-04 14:18 Валентин Сайков
2013-11-21 19:33 [Qemu-devel] [PATCH for-1.7 0/5] acpi unit-test: added tests Marcel Apfelbaum
2013-11-21 19:33 ` [Qemu-devel] [PATCH for-1.7 2/5] acpi unit-test: adjust the test data structure for better handling Marcel Apfelbaum
2013-12-10 16:42   ` [Qemu-devel] (no subject) Michael S. Tsirkin
2013-08-18 18:19 Liu, Jinsong
2013-05-06 13:47 [Qemu-devel] [PATCH] Add 'maxqdepth' as an option to tty character devices Paolo Bonzini
2013-05-07 16:36 ` [Qemu-devel] (no subject) John Baboval
2013-04-02 16:02 Elizabeth Brown
2013-04-05  7:18 ` Stefan Hajnoczi
2012-11-19 20:39 Stefan Priebe
2012-07-23 10:59 Paulo Arcinas
2012-07-20  3:39 Guan Xuetao
2012-04-01 16:19 César
2012-03-08  3:26 suyi wang
     [not found] <[0/4] RESEND: Outstanding bugfixes and cleanups>
2012-03-08  0:41 ` David Gibson
2012-02-29 12:43 Dmitry Fleytman
2011-12-29 21:17 Fred Oliveira
2011-12-13  2:50 Erik Lotspeich
2011-12-13  8:06 ` Stefan Hajnoczi
2011-12-13 12:55   ` Erik Lotspeich
2011-12-13 14:57     ` Stefan Hajnoczi
2011-12-13 15:22       ` Erik Lotspeich
2011-12-13 15:56         ` Paolo Bonzini
2011-12-08 12:06 wong
2011-11-11 21:46 Ronnie Sahlberg
2011-10-24 21:03 Benoît Canet
2011-10-24 10:25 王永博
2011-09-29 16:55 Ottavio
2011-09-14 14:38 王永博
2011-08-03 14:50 Michael Tokarev
2011-06-12  2:47 Ronnie Sahlberg
2011-05-31  4:56 coolman coolx
2011-03-08  9:59 Stefan Hajnoczi
2011-02-17 10:45 maheen butt
2011-01-04 15:15 Aurelien Jarno
2011-01-04 16:06 ` Peter Maydell
2011-01-04 16:12   ` Aurelien Jarno
2010-12-13  8:05 Ronnie Sahlberg
2010-12-06  0:39 Joao Francisco Medeiros Neto
2010-12-05 19:29 Joao Francisco Medeiros Neto
2010-12-02 18:21 Joao Francisco Medeiros Neto
2010-11-28 14:28 Joao Francisco Medeiros Neto
2010-11-27 16:37 Joao Francisco Medeiros Neto
2010-11-12  9:43 Stefan Hajnoczi
2010-11-11  1:30 Michael Roth
2010-10-31 11:17 Zamzit
2010-10-22 14:56 Stefan Hajnoczi
2010-05-18  7:31 Corentin Chary
2010-02-10 18:15 Stephen Isard
2009-10-31  1:07 Jason McMullan
2009-07-01 21:26 G 3
2009-03-17 20:37 Uri Lublin
2009-01-29 19:54 Uri Lublin
2009-01-30  2:43 ` Paul Brook
2009-02-01 15:20   ` Uri Lublin
2008-12-13 21:18 froydnj
2008-12-13 19:31 froydnj
2008-12-11 22:12 Hollis Blanchard
2008-12-11 22:43 ` Aurelien Jarno
2008-11-14 15:38 sniper
2008-08-21 14:27 Paweł Tulik
2007-04-10 13:34 Stuart Anderson
2007-03-03 23:09 Ben Taylor
2007-03-02 16:10 jeremy fenelon
2006-11-21 16:08  Torbjörn Andersson
2006-10-07  5:51 av1474
2006-10-10 20:50 ` Blue Swirl
2005-12-20 19:47 Hoppers U. Moppet
2005-11-08 15:57 Shahar Livne
2005-11-03 13:16 Qemtz
2005-04-27 14:08 blackcrack
2005-04-27 16:04 ` Johannes Schindelin
2005-04-27 16:38   ` Alex Beregszaszi
2005-01-18  4:44 Cliff
2004-08-08  1:42 anthony hill
2004-02-19 17:16 Adrian C

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=20150630071813.GB5599@ad.nay.redhat.com \
    --to=famz@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=qemu-devel@nongnu.org \
    --cc=sfeldma@gmail.com \
    --cc=stefanha@redhat.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).