qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Blue Swirl <blauwirbel@gmail.com>
To: Artyom Tarasenko <atar4qemu@googlemail.com>,
	Paul Brook <paul@codesourcery.com>
Cc: qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] Re: irq latency and tcg
Date: Sat, 12 Dec 2009 10:46:25 +0200	[thread overview]
Message-ID: <f43fc5580912120046w2904fda7yfcf278d43f8815fd@mail.gmail.com> (raw)
In-Reply-To: <fb8d4f70912090430k2ce186fvc1d3ea3aed832cd3@mail.gmail.com>

On Wed, Dec 9, 2009 at 2:30 PM, Artyom Tarasenko
<atar4qemu@googlemail.com> wrote:
> 2009/12/7 Blue Swirl <blauwirbel@gmail.com>:
>> On Mon, Dec 7, 2009 at 3:30 PM, Artyom Tarasenko
>> <atar4qemu@googlemail.com> wrote:
>>> Can it be that qemu (-system-sparc in my case, but I guess it's more
>>> or less similar on all platforms) reacts to irqs slower than a real
>>> hardware due to tcg optimizations?
>>>
>>> I see one test pattern which fails on qemu:
>>>
>>> <cause an interrupt>
>>> nop * N
>>> <check whether the interrupt happened>
>>>
>>> What I observe is that the proper interrupt does take a place, but
>>> after the check, so no-one expects it anymore.
>>> Is there a way to reduce the interrupt latency? Or maybe there is a
>>> good substitute to a nop*N, so that irq would definitely get through
>>> in the mean time?
>>
>> On Sparc, nops do not generate any code at all.
>
> But "qemu: fatal: Raised interrupt while not in I/O function" is still
> a bug, right?

According to comment in exec-all.h:
/* Deterministic execution requires that IO only be performed on the last
   instruction of a TB so that interrupts take effect immediately.  */

Sparc generator must then violate this assumption. Is the assumption
valid also when not using icount and should the check be enabled for
all cases, not just icount?

  reply	other threads:[~2009-12-12  8:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-07 13:30 [Qemu-devel] irq latency and tcg Artyom Tarasenko
2009-12-07 15:06 ` Paul Brook
2009-12-07 17:39   ` Artyom Tarasenko
2009-12-07 17:44     ` Paul Brook
2009-12-07 18:08 ` [Qemu-devel] " Blue Swirl
2009-12-09 12:30   ` Artyom Tarasenko
2009-12-12  8:46     ` Blue Swirl [this message]
2009-12-12 23:29       ` 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=f43fc5580912120046w2904fda7yfcf278d43f8815fd@mail.gmail.com \
    --to=blauwirbel@gmail.com \
    --cc=atar4qemu@googlemail.com \
    --cc=paul@codesourcery.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).