qemu-devel
[Top][All Lists]
Advanced

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

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


From: Amos Kong
Subject: Re: [Qemu-devel] [PATCH 0/3] net: add missing queue flush for e1000 and xen
Date: Thu, 30 Aug 2012 10:32:33 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110930 Thunderbird/7.0.1

On 09/08/12 22:45, Paolo Bonzini wrote:
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(-)

LGTM.

Reviewed-by: Amos Kong <address@hidden>

--
                        Amos.



reply via email to

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