qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Kenneth Duda" <kduda@arastra.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Network Performance between Win Host and Linux
Date: Tue, 11 Apr 2006 14:46:17 -0700	[thread overview]
Message-ID: <6fe044190604111446k635c58bdj89d154e04525cf1c@mail.gmail.com> (raw)
In-Reply-To: <443C1455.5080302@win4lin.com>

Thanks, Leo.  It appears your patch or something similar has made it
into 0.8.0.  I have already merged the select loops, but it didn't
help as much as I hoped, maybe 10%.  A much bigger improvement was
made by fixing the badly hacked slirp DELACK behavior.  Believe it or
not, slirp delays all TCP acks *unless* the segment data starts with
an escape character, I kid you not.  I threw that out, and have made
slirp's tcp_input rfc2581 compliant (to my shallow reading of the rfc)
and that boosted throughput from vm->host by 3.5x, to 56 megabits
(from 16 megabits).  The performance from host->vm was helped less,
and that was because of another hack in slirp that was causing it to
get the wrong MSS --- it was sending 512 byte segments.  Now, I'm
looking at excessive numbers of retransmissions (believe it or not)
--- I suspect the ne2000 ring buffer is overflowing but I'm not yet
sure.  I will post a patch including all of these things when I'm
done.  I'm expecting a significant aggregate improvement.

     -Ken

On 4/11/06, Leonardo E. Reiter <lreiter@win4lin.com> wrote:
> Hi Ken,
>
> I'm attaching a pretty old patch I made (from the 0.7.1 days), which did
> a quick and dirty merge of the select's.  It's not something that is
> clean and it will need adapting to 0.8.0... but, I figure you could draw
> some quick hints on how to merge the 2.  Basically it fills the select
> bitmaps when it walks through the fd's the first time, then calls select
> instead of poll.  It also has slirp fill its own bits (fd's) in before
> calling select.  So this is condensed to 1 select call.
>
> Do what you want with the code - like I said, it's messy and old.  But
> maybe you can at least use it to quickly test your hypothesis.  I'd be
> interested in learning about any benchmarks you come up with if you
> merge the select+poll.  Also, it may not be valid at all on Windows
> hosts since there is a question about select() being interrupted
> properly on those hosts - it should work on Linux/BSD.
>
> Regards,
>
> Leo Reiter
>
> P.S. this patch should be applied with -p1, not -p0 like my newer
> patches are applied.  Sorry for that - like I said, it's quite old.
>

  reply	other threads:[~2006-04-11 21:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-11 17:20 [Qemu-devel] Network Performance between Win Host and Linux Kenneth Duda
2006-04-11 17:28 ` Paul Brook
2006-04-11 17:49   ` Kenneth Duda
2006-04-11 18:19     ` Helmut Auer
2006-04-12  2:10       ` Kazu
2006-04-11 20:40     ` Leonardo E. Reiter
2006-04-11 21:46       ` Kenneth Duda [this message]
2006-04-11 21:58         ` Leonardo E. Reiter
2006-04-11 22:42           ` Kenneth Duda
2006-04-11 21:00     ` Leonardo E. Reiter
2006-04-11 22:36 ` [Qemu-devel] " Kenneth Duda
2006-04-12 14:04   ` Leonardo E. Reiter
2006-04-12 18:19     ` Kenneth Duda
2006-04-12 18:26       ` Leonardo E. Reiter
2006-04-12 14:31   ` Leonardo E. Reiter

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=6fe044190604111446k635c58bdj89d154e04525cf1c@mail.gmail.com \
    --to=kduda@arastra.com \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).