The patch below from KVM improves network transfers in a huge way. wget
in a MIPS target now gives me a transfer speed of up to 120 Mbits/s with
an e1000 emulated card.


    kvm: qemu: generate signals on tap I/O

    currently tap does not generate signals on I/O; this causes
    network latency to be dependent on the timer tick (1ms without
    dyntick, guest dependent with dyntick).  by generating a signal
    on I/O, we can inform the guest immediately that a packet has
    arrived.

    Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

---
 vl.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/vl.c b/vl.c
index c87e8bc..fb01a46 100644
--- a/vl.c
+++ b/vl.c
@@ -3939,6 +3939,7 @@ static TAPState *net_tap_fd_init(VLANState *vlan, int fd)
     if (!s)
         return NULL;
     s->fd = fd;
+    enable_sigio_timer(fd);
     s->vc = qemu_new_vlan_client(vlan, tap_receive, NULL, s);
     qemu_set_fd_handler(s->fd, tap_send, NULL, s);
     snprintf(s->vc->info_str, sizeof(s->vc->info_str), "tap: fd=%d", fd);

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   [EMAIL PROTECTED]         | [EMAIL PROTECTED]
   `-    people.debian.org/~aurel32 | www.aurel32.net


Reply via email to