On Thu, Jul 25, 2013 at 11:25:20AM +0930, Rusty Russell wrote: > Hi all, > > Using latest kernel and master qemu, the following doesn't use > vhost acceleration: > > sudo qemu-system-x86_64 -machine pc,accel=kvm $ARGS -m 1024 -net > tap,script=/home/rusty/bin/kvm-ifup,downscript=no,vhost=on -net > nic,model=virtio -drive file=$QEMUIMAGE,index=0,media=disk,if=virtio -kernel > arch/x86/boot/bzImage -append "root=/dev/vda1 $KARGS $*" > > Culprit is here: > > hw/net/virtio-net.c:virtio_net_vhost_status(): > if (nc->peer->info->type != NET_CLIENT_OPTIONS_KIND_TAP) { > return; > } > > info->type is NET_CLIENT_OPTIONS_KIND_HUBPORT. > > At a glance, it seems like vlan is always enabled, and that means a hub, > so that change silently disabled vhost acceleration. > > It's quite possible that I've screwed up qemu's impenetrable command > line (-net or -netdev, who knows what's better?). > > Frustrated, > Rusty.
That's just it. Replace -net with -netdev, and things will work.