qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen
@ 2012-08-09 14:45 Paolo Bonzini
  2012-08-09 14:45 ` [Qemu-devel] [PATCH 1/3] net: notify iothread after flushing queue Paolo Bonzini
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Paolo Bonzini @ 2012-08-09 14:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jan Kiszka, Luigi Rizzo, Stefan Hajnoczi, Stefano Stabellini

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-08-30  2:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-09 14:45 [Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen Paolo Bonzini
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

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).