From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jan Kiszka <jan.kiszka@siemens.de>,
Luigi Rizzo <rizzo@iet.unipi.it>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen
Date: Thu, 9 Aug 2012 16:45:54 +0200 [thread overview]
Message-ID: <1344523557-28266-1-git-send-email-pbonzini@redhat.com> (raw)
Luigi reminded me of these patches...
When the guests replenish the receive ring buffer, the network device
should flush its queue of pending packets. This is done with
qemu_flush_queued_packets, and patches 2+3 add the missing call to
two drivers, e1000 and xen. More may come later---no time to test
them now.
However, the device should not just retry delivery of packets that were
already read from the tap device, it should also try to read more packets
from the tap device. The latter requires a qemu_notify_event to force
recomputation of the fd_sets. virtio already does this, but it is a
layering violation; patch 1 moves the call from virtio to the network
subsystem, so that e1000 and xen will then get it for free.
Paolo Bonzini (3):
net: notify iothread after flushing queue
e1000: flush queue whenever can_receive can go from false to true
xen: flush queue when getting an event
hw/e1000.c | 4 ++++
hw/virtio-net.c | 4 ----
hw/xen_nic.c | 1 +
net.c | 7 ++++++-
net/queue.c | 5 +++--
net/queue.h | 2 +-
6 file modificati, 15 inserzioni(+), 8 rimozioni(-)
--
1.7.11.2
next reply other threads:[~2012-08-09 14:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-09 14:45 Paolo Bonzini [this message]
2012-08-09 14:45 ` [Qemu-devel] [PATCH 1/3] net: notify iothread after flushing queue Paolo Bonzini
2012-08-09 17:55 ` Blue Swirl
2012-08-10 6:59 ` Stefan Hajnoczi
2012-08-09 14:45 ` [Qemu-devel] [PATCH 2/3] e1000: flush queue whenever can_receive can go from false to true Paolo Bonzini
2012-08-09 14:45 ` [Qemu-devel] [PATCH 3/3] xen: flush queue when getting an event Paolo Bonzini
2012-08-09 15:16 ` [Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen Stefan Hajnoczi
2012-08-09 15:18 ` Stefano Stabellini
2012-08-30 2:32 ` Amos Kong
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=1344523557-28266-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=jan.kiszka@siemens.de \
--cc=qemu-devel@nongnu.org \
--cc=rizzo@iet.unipi.it \
--cc=stefanha@linux.vnet.ibm.com \
--cc=stefano.stabellini@eu.citrix.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).