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