On Saturday 05 January 2008 09:24:40 Anthony Liguori wrote: > Hey Rusty et al, > > I've got automatic backports of the virtio modules[1] working back to > 2.6.18. Everything seems okay except that for any kernel with the older > NAPI api, performance is extremely bad. I get about 1gbit on TX with > 2.6.24 but I get somewhere around 20mbit on 2.6.22.
OK, I tested this backport and immediately got oopses. Revealed some interesting races in net driver (again, it's that damn callback disable causing problems). New queue fixes these, but get awful performance: 'dd bs=1M count=1000 if=/dev/zero | nc 172.20.0.1 8889' takes almost 30 seconds. Found one bug in your code tho: if enable_cb returns false, it means the queue has *not* been enabled: --- hack-module.awk.~1~ 2008-01-06 10:49:16.000000000 +1100 +++ hack-module.awk 2008-01-07 19:08:40.000000000 +1100 @@ -49,7 +49,6 @@ print " netif_rx_complete(vi->dev);"; print ""; print " if (!no_work && netif_rx_reschedule(vi->dev, received)) {"; - print " vi->rvq->vq_ops->disable_cb(vi->rvq);"; print " skb = NULL;"; print " goto again;"; print " }"; Will continue looking for performance regression tomorrow (actually, better check my changes haven't introduced it in non-backports first!). Thanks! Rusty. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel