All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Sasha Levin <levinsasha928@gmail.com>
Cc: Jan Kiszka <jan.kiszka@web.de>, Pekka Enberg <penberg@kernel.org>,
	mingo@elte.hu, avi@redhat.com, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, gorcunov@gmail.com, asias.hejun@gmail.com,
	prasadjoshi124@gmail.com
Subject: Re: [GIT PULL] Native Linux KVM tool for 3.1
Date: Mon, 25 Jul 2011 14:59:02 +0200	[thread overview]
Message-ID: <4E2D6896.5010008@redhat.com> (raw)
In-Reply-To: <1311580201.3446.30.camel@lappy>

On 07/25/2011 09:50 AM, Sasha Levin wrote:
> Anthony had a talk on last years KVM forum regarding the QEMU threading
> model (slide:
> http://www.linux-kvm.org/wiki/images/7/70/2010-forum-threading-qemu.pdf) .
>
> It was suggested that the KVM part of QEMU is having a hard time
> achieving the ideal threading model due to its need to support TCG -
> something which has nothing to do with KVM itself.

No, it is not having a hard time.  The "foot in the door" that Anthony 
mentions has been part of QEMU and qemu-kvm for a long time 
(multi-threading is necessary to support SMP!) and works quite well.


Historically, there were three main loops:

1) QEMU single-threaded;

2) QEMU multi-threaded; clean, but buggy, untested and bitrotting;

3) qemu-kvm multi-threaded, forked from (1), ugly but robust and widely 
deployed.

In 0.15 the two multi-threaded versions have been unified by Jan Kiszka. 
  I have even ported (2) to Windows with little or no pain; porting to 
Mac OS X interestingly is harder than Windows, because non-portable 
Linux assumptions about signal handling have crept in the code (to 
preempt the objections: they weren't just non-portabilities, they were 
latent bugs).  Windows just does not have signals. :)

So, right now, the only difference is that QEMU is still defaulting to 
the single-threaded main loop, while qemu-kvm enables multi-threading by 
default.  In some time even QEMU will switch.

Yes, this is of course worse than getting it right in the first place; 
Nobody is saying the opposite.

Paolo

  parent reply	other threads:[~2011-07-25 12:59 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-24 20:37 [GIT PULL] Native Linux KVM tool for 3.1 Pekka Enberg
2011-07-24 23:12 ` Jan Kiszka
2011-07-25  7:37   ` Pekka Enberg
2011-07-25  7:53     ` Ingo Molnar
2011-07-25  8:14       ` Alexander Graf
2011-07-25  8:23         ` Pekka Enberg
2011-07-25  8:31           ` Alexander Graf
2011-07-25  8:35             ` Avi Kivity
2011-07-25 13:10               ` Joerg Roedel
2011-07-25 15:05                 ` Avi Kivity
2011-07-25  8:37             ` Pekka Enberg
2011-07-25  8:44               ` Alexander Graf
2011-07-25  8:51                 ` Pekka Enberg
2011-07-25  8:55                   ` Alexander Graf
2011-07-25  9:16               ` Ingo Molnar
2011-07-25  9:14           ` Ingo Molnar
2011-07-25  8:30         ` Pekka Enberg
2011-07-25  8:37           ` Alexander Graf
2011-07-25  8:47             ` Pekka Enberg
2011-07-25  9:06               ` Alexander Graf
2011-07-25 12:45                 ` Pekka Enberg
2011-07-25 12:47                   ` Avi Kivity
2011-07-25 12:51                     ` Sasha Levin
2011-07-25 12:54                       ` Alexander Graf
2011-07-25 13:14                         ` Sasha Levin
2011-07-25 12:51                     ` Alexander Graf
2011-07-25 13:09                       ` Pekka Enberg
2011-07-25 13:29                         ` Alexander Graf
2011-07-25  9:26               ` Ingo Molnar
2011-07-25  9:42                 ` Alexander Graf
2011-07-25 10:16                   ` Ingo Molnar
2011-07-25 10:21                     ` Alexander Graf
2011-07-25 10:35                       ` Ingo Molnar
2011-07-25 10:47             ` Ingo Molnar
2011-07-25 12:24           ` Kevin Wolf
2011-07-25 12:41             ` Pekka Enberg
2011-07-25 12:46               ` Avi Kivity
2011-07-25  8:54         ` Ingo Molnar
2011-07-25  8:59           ` Ingo Molnar
2011-07-25  9:03           ` Alexander Graf
2011-07-25  9:41             ` Ingo Molnar
2011-07-25  9:46               ` Alexander Graf
2011-07-25 10:28                 ` Ingo Molnar
2011-07-25  9:48               ` Avi Kivity
2011-07-25 10:03                 ` Ingo Molnar
2011-07-25 10:17                   ` Avi Kivity
2011-07-25 10:29                     ` Ingo Molnar
2011-07-25 11:26             ` Olivier Galibert
2011-07-25 10:38         ` Christoph Hellwig
2011-07-25 11:08           ` Ingo Molnar
2011-07-25 11:24             ` Christoph Hellwig
2011-07-25 11:32               ` Ingo Molnar
2011-07-25 11:34               ` Olivier Galibert
2011-07-25 11:41                 ` Christoph Hellwig
2011-07-25 12:09           ` Ingo Molnar
2011-07-25 12:36           ` Pekka Enberg
2011-07-25 19:21             ` david
2011-07-25 18:24     ` Jan Kiszka
2011-07-25 19:43       ` Pekka Enberg
2011-07-25  7:50   ` Sasha Levin
2011-07-25  8:34     ` Alexander Graf
2011-07-25 12:59     ` Paolo Bonzini [this message]
2011-07-25 13:16       ` Anthony Liguori
2011-07-25  1:19 ` Anthony Liguori
2011-07-25  7:27   ` Pekka Enberg
2011-07-25  7:36     ` Avi Kivity
2011-07-25  7:39       ` Pekka Enberg
2011-07-25  7:55       ` Sasha Levin
     [not found]       ` <CAFO3S428qqUAu19QjPxDDAVv+eJSX0MEfYp5y03znNi6XbEtTg@mail.gmail.com>
2011-07-25  8:11         ` Ingo Molnar
2011-07-25  8:17           ` Pekka Enberg

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=4E2D6896.5010008@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=asias.hejun@gmail.com \
    --cc=avi@redhat.com \
    --cc=gorcunov@gmail.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=prasadjoshi124@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.