qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Blue Swirl <blauwirbel@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [6391] Fix nographic mode and VNC
Date: Fri, 23 Jan 2009 18:20:31 +0000	[thread overview]
Message-ID: <200901231820.32999.paul@codesourcery.com> (raw)
In-Reply-To: <497890ED.6000109@codemonkey.ws>

> >> A second solution is to use a polling select() in cpu_exec.  Since
> >> you're adding a system call (and a rather heavy one) in the fast path,
> >> this is going to likely hurt TCG performance.
> >
> > This won't work. If the guest really is in a tight loop then TB chaining
> > means it will never exit translated code.
>
> But then signal delivery wouldn't either, right?  That suggests that if
> the guest is in a tight loop right now, QEMU will freeze.

No. The signal handler calls cpu_interrupt, which unlinks the TBs.

> There's a fair bit of code that is safe to run along side of TCG.  If we
> separate the locking for the device model code from every thing (the
> monitor, vnc, sdl, etc.), then we could still let QEMU be responsive
> even in such a condition.

Maybe. You risk having to put an SMP safe lock in the MMIO handler, which 
would probably do bad things to performance. Many of the embedded targets 
don't have DMA capable peripherals, so we want to avoid making MMIO too 
expensive. kvm is a bit different because MMIO is already horribly expensive.

Paul

  reply	other threads:[~2009-01-23 18:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-21 19:28 [Qemu-devel] [6391] Fix nographic mode and VNC Blue Swirl
2009-01-21 19:39 ` Stefano Stabellini
2009-01-21 19:52   ` Blue Swirl
2009-01-21 19:56     ` Stefano Stabellini
2009-01-21 20:03 ` Samuel Thibault
2009-01-21 20:16   ` Blue Swirl
2009-01-21 20:29     ` Samuel Thibault
2009-01-21 20:44       ` Blue Swirl
2009-01-21 21:33         ` Anthony Liguori
2009-01-22  0:04         ` Paul Brook
2009-01-22  3:31           ` Anthony Liguori
2009-01-22  4:23             ` Paul Brook
2009-01-22 12:36               ` Ian Jackson
2009-01-23 18:59                 ` Paul Brook
2009-01-22 15:29               ` Anthony Liguori
2009-01-23 18:20                 ` Paul Brook [this message]
2009-01-23 19:37                   ` Anthony Liguori
2009-01-25 19:57                   ` Jamie Lokier
2009-01-25 23:25                     ` Paul Brook

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=200901231820.32999.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=anthony@codemonkey.ws \
    --cc=blauwirbel@gmail.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).