From: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
To: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel
<kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
Christian Borntraeger
<borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
Subject: Re: virtio_net backport performance
Date: Mon, 7 Jan 2008 19:23:44 +1100 [thread overview]
Message-ID: <200801071923.45083.rusty@rustcorp.com.au> (raw)
In-Reply-To: <477EB228.4030905-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
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/
next prev parent reply other threads:[~2008-01-07 8:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-04 22:24 virtio_net backport performance Anthony Liguori
[not found] ` <477EB228.4030905-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-01-04 23:59 ` Rusty Russell
2008-01-07 8:23 ` Rusty Russell [this message]
[not found] ` <200801071923.45083.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-01-07 16:20 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200801071923.45083.rusty@rustcorp.com.au \
--to=rusty-8n+1lvoiyb80n/f98k4iww@public.gmane.org \
--cc=aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox