From: Fam Zheng <famz@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: jcmvbkbc@gmail.com, Jason Wang <jasowang@redhat.com>,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2] net: Flush queued packets when guest resumes
Date: Wed, 15 Jul 2015 10:50:00 +0800 [thread overview]
Message-ID: <20150715025000.GA2412@ad.nay.redhat.com> (raw)
In-Reply-To: <20150714154235-mutt-send-email-mst@redhat.com>
On Tue, 07/14 15:42, Michael S. Tsirkin wrote:
> On Tue, Jul 14, 2015 at 01:20:03PM +0100, Stefan Hajnoczi wrote:
> > On Fri, Jul 10, 2015 at 05:03:22PM +0800, Fam Zheng wrote:
> > > On Tue, 07/07 12:19, Michael S. Tsirkin wrote:
> > > > On Tue, Jul 07, 2015 at 05:09:09PM +0800, Fam Zheng wrote:
> > > > > On Tue, 07/07 11:13, Michael S. Tsirkin wrote:
> > > > > > On Tue, Jul 07, 2015 at 09:21:07AM +0800, Fam Zheng wrote:
> > > > > > > Since commit 6e99c63 "net/socket: Drop net_socket_can_send" and friends,
> > > > > > > net queues need to be explicitly flushed after qemu_can_send_packet()
> > > > > > > returns false, because the netdev side will disable the polling of fd.
> > > > > > >
> > > > > > > This fixes the case of "cont" after "stop" (or migration).
> > > > > > >
> > > > > > > Signed-off-by: Fam Zheng <famz@redhat.com>
> > > > > >
> > > > > > Note virtio has its own handler which must be used to
> > > > > > flush packets - this one might run too early or too late.
> > > > >
> > > > > Which handler do you mean? I don't think virtio-net handles resume now. (If it
> > > > > does, we probably should drop it together with this change, since it's needed
> > > > > by as all NICs.)
> > > > >
> > > > > Fam
> > > >
> > > > virtio_vmstate_change
> > > >
> > > > It's all far from trivial. I suspect these whack-a-mole approach
> > > > spreading purge here and there will only create more bugs.
> > > >
> > > > Why would we ever need to process network packets when
> > > > VM is not running? I don't see any point to it.
> > > > How about we simply stop the job processing network on
> > > > vm stop and restart on vm start?
> > >
> > > I suppose it is too much for 2.4. I think this approach, adding
> > > qemu_flush_queued_packets(), is consistent with its existing usage (when a
> > > device is becoming active from inactive), like in e1000_write_config.
> > >
> > > How about applying this and let's work on "stopping tap when VM not running"
> > > for 2.5?
> >
> > Jason has gone happy on this and the virtio-net .can_receive() patch.
> >
> > Michael: Any further comments? Are you okay with this patch too?
FWIW, I am sending another virtio-net patch to flush at .set_status.
>
> I think it doesn't help virtio - am I wrong?
>
Right, virtio doesn't need this because it gets notified with '.set_status()'.
But this patch does help:
http://lists.nongnu.org/archive/html/qemu-devel/2015-07/msg01396.html
(as well as all other NICs).
Fam
next prev parent reply other threads:[~2015-07-15 2:50 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-07 1:21 [Qemu-devel] [PATCH v2] net: Flush queued packets when guest resumes Fam Zheng
2015-07-07 7:44 ` Jason Wang
2015-07-07 9:03 ` Fam Zheng
2015-07-08 9:40 ` Jason Wang
2015-07-07 8:13 ` Michael S. Tsirkin
2015-07-07 8:58 ` Jason Wang
2015-07-07 9:10 ` Michael S. Tsirkin
2015-07-07 10:02 ` Fam Zheng
2015-07-09 9:25 ` Stefan Hajnoczi
2015-07-07 9:09 ` Fam Zheng
2015-07-07 9:19 ` Michael S. Tsirkin
2015-07-10 9:03 ` Fam Zheng
2015-07-14 12:20 ` Stefan Hajnoczi
2015-07-14 12:42 ` Michael S. Tsirkin
2015-07-15 2:50 ` Fam Zheng [this message]
2015-07-07 8:51 ` Stefan Hajnoczi
-- strict thread matches above, loose matches on Subject: below --
2015-07-10 9:24 Fam Zheng
2015-07-13 5:21 ` Jason Wang
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=20150715025000.GA2412@ad.nay.redhat.com \
--to=famz@redhat.com \
--cc=jasowang@redhat.com \
--cc=jcmvbkbc@gmail.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--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 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.