qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen
Date: Thu, 9 Aug 2012 16:45:54 +0200

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]