From: Stephen Hemminger <shemminger@vyatta.com>
To: "Daniel P. Berrange" <berrange@redhat.com>,
Fedora/Linux Management Tools <et-mgmt-tools@redhat.com>,
David Miller <davem@davemloft.net>,
Evgeniy Polyakov <zbr@ioremap.net>
Cc: berrange@redhat.com,
Fedora/Linux Management Tools <et-mgmt-tools@redhat.com>,
netdev@vger.kernel.org
Subject: virt-manager broken by bind(0) in net-next.
Date: Thu, 29 Jan 2009 21:35:49 -0800 [thread overview]
Message-ID: <20090129213549.7fadfa2e@extreme> (raw)
In-Reply-To: <20090129103544.GC22110@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2333 bytes --]
On Thu, 29 Jan 2009 10:35:44 +0000
"Daniel P. Berrange" <berrange@redhat.com> wrote:
> On Wed, Jan 28, 2009 at 09:21:14PM -0800, Stephen Hemminger wrote:
> > This is probably related to the new GEM code. But on 2.6.29-rc2 if I start up the virtual
> > machine manager then run a guest, the display gets screwed up.
> >
> > virt-machine-manager
> > click local-host (System)
> > Run one of the existing VM's
> >
> > The virtual console window then cause a dialog about allowing remote access to display;
> > (this never happened with earlier kernels), regression #1
> >
> > Then if I allow it multiple copies of the window start cloning and general chaos ensues.
>
> You'll have to provide more useful information than 'screwed up' and
> 'general choas' if we're to properly dianose this. A screenshot of what
> is wrong if there's a graphics rendering problem would be a start.
>
> Also, what GTK-VNC version do you have ? Make sure it is at least
> 0.3.8, so that it is using Cairo for rendering, and not old buggy
> OpenGL based GtkGLExt.
>
> Daniel
The problem is only in the net-next tree (not mainline 2.6.29-rcX).
Bisected down to this commit is the problem:
a9d8f9110d7e953c2f2b521087a4179677843c2a is first bad commit
commit a9d8f9110d7e953c2f2b521087a4179677843c2a
Author: Evgeniy Polyakov <zbr@ioremap.net>
Date: Mon Jan 19 16:46:02 2009 -0800
inet: Allowing more than 64k connections and heavily optimize bind(0) time.
With simple extension to the binding mechanism, which allows to bind more
than 64k sockets (or smaller amount, depending on sysctl parameters),
we have to traverse the whole bind hash table to find out empty bucket.
And while it is not a problem for example for 32k connections, bind()
completion time grows exponentially (since after each successful binding
we have to traverse one bucket more to find empty one) even if we start
each time from random offset inside the hash table.
So, when hash table is full, and we want to add another socket, we have
to traverse the whole table no matter what, so effectivelly this will be
the worst case performance and it will be constant.
Attached picture shows bind() time depending on number of already bound
sockets.
Not sure why but it breaks VNC, see attached screenshot.
[-- Attachment #2: Screenshot.png --]
[-- Type: image/png, Size: 178001 bytes --]
next parent reply other threads:[~2009-01-30 5:35 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090128212114.38be3e8c@extreme>
[not found] ` <20090129103544.GC22110@redhat.com>
2009-01-30 5:35 ` Stephen Hemminger [this message]
2009-01-30 8:16 ` virt-manager broken by bind(0) in net-next Evgeniy Polyakov
[not found] ` <20090130081600.GA2717-i6C2adt8DTjR7s880joybQ@public.gmane.org>
2009-01-30 10:27 ` Daniel P. Berrange
2009-01-30 11:21 ` Evgeniy Polyakov
2009-01-30 12:53 ` Herbert Xu
[not found] ` <20090130125337.GA7155-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2009-01-30 17:57 ` Stephen Hemminger
2009-01-30 18:41 ` Eric Dumazet
2009-01-30 21:50 ` Evgeniy Polyakov
2009-01-30 22:30 ` Eric Dumazet
2009-01-30 22:51 ` Evgeniy Polyakov
[not found] ` <20090130225113.GA13977-i6C2adt8DTjR7s880joybQ@public.gmane.org>
2009-01-31 0:36 ` Stephen Hemminger
2009-01-31 8:35 ` Evgeniy Polyakov
2009-01-31 2:52 ` Stephen Hemminger
2009-01-31 8:37 ` Evgeniy Polyakov
2009-01-31 9:17 ` Eric Dumazet
2009-01-31 9:31 ` Evgeniy Polyakov
2009-01-31 9:49 ` Eric Dumazet
2009-01-31 9:56 ` Evgeniy Polyakov
2009-01-31 10:17 ` Eric Dumazet
2009-02-01 12:42 ` Evgeniy Polyakov
2009-02-01 16:12 ` Eric Dumazet
2009-02-01 17:40 ` Evgeniy Polyakov
2009-02-01 20:31 ` David Miller
[not found] ` <20090130215008.GB12210-i6C2adt8DTjR7s880joybQ@public.gmane.org>
2009-02-01 5:58 ` Stephen Hemminger
2009-02-01 9:07 ` David Miller
2009-02-01 12:44 ` Evgeniy Polyakov
[not found] ` <498349F7.4050300-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2009-02-01 5:29 ` Stephen Hemminger
2009-01-30 6:50 ` Stephen Hemminger
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=20090129213549.7fadfa2e@extreme \
--to=shemminger@vyatta.com \
--cc=berrange@redhat.com \
--cc=davem@davemloft.net \
--cc=et-mgmt-tools@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=zbr@ioremap.net \
/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).