From: Jan Kiszka <jan.kiszka@siemens.com>
To: Avi Kivity <avi@redhat.com>
Cc: Blue Swirl <blauwirbel@gmail.com>,
Paul Brook <paul@codesourcery.com>,
Gleb Natapov <gleb@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Re: [Bug 599958] Re: Timedrift problems with Win7: hpet missing time drift fixups
Date: Mon, 05 Jul 2010 14:16:56 +0200 [thread overview]
Message-ID: <4C31CD38.5050904@siemens.com> (raw)
In-Reply-To: <4C31C4A3.4070208@redhat.com>
Avi Kivity wrote:
> On 07/05/2010 02:13 PM, Jan Kiszka wrote:
>> That decoupling between state change and acknowledgment worries me.
>> Dispatching a source to multiple sinks or sharing a sink between
>> multiple source is no longer cleanly manageable this way. Just look at
>> the route of some ISA IRQ on x86: You may get an 'ack' from IOAPIC side
>> and a 'masked' from the ISA side (or vice versa). And the 'masked' will
>> arrive earlier.
>
> I think it is sufficient to only note masks and take action on acks.
We would increment our backlog on injection, decrement it on mask
notification - and decrement it again on ack.
>
>> Not really straightforward to handle, is it?
>>
>
> No question.
>
>> Moreover, it requires a concrete algorithm that takes advantage from the
>> 'ack' information bit (that should be the only additional information
>> you gain) to justify the additional effort. A "might have some
>> advantages" is not enough IMO. Do we have such an algorithm already?
>>
>
> No.
>
> The additional information is that you know which cpu(s) processed the
> interrupt, and when exactly. I don't know how to translate it to a
> functional advantage, I just have a feeling that it is possible.
>
> It's also architecturally cleaner. Masks and acks are architectural
> events. Injections are not - there's the edge on the LINT0 or INTI2
> pins, generation of an APIC message, receipt of the APIC message, and
> assertion of the APIC-to-core interrupt interface. I'm not sure how the
> proposed interface maps to that.
Our emulation does not reflect every architectural detail of the
delivery path anyway. The abstraction is always an IRQ line which can be
high or low (sometimes it is only high, but this is a bug).
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2010-07-05 12:17 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-29 21:18 [Qemu-devel] [Bug 599958] [NEW] Timedrift problems with Win7 + qemu-kvm Lucas Meneghel Rodrigues
2010-06-29 21:18 ` [Qemu-devel] [Bug 599958] " Lucas Meneghel Rodrigues
2010-06-29 21:18 ` Lucas Meneghel Rodrigues
2010-06-29 21:19 ` Lucas Meneghel Rodrigues
2010-06-29 21:45 ` Anthony Liguori
2010-06-29 21:53 ` Lucas Meneghel Rodrigues
2010-06-30 14:17 ` Lucas Meneghel Rodrigues
2010-06-30 14:38 ` [Qemu-devel] [Bug 599958] Re: Timedrift problems with Win7: hpet missing time drift fixups Anthony Liguori
2010-07-01 7:13 ` [Qemu-devel] " Jan Kiszka
2010-07-01 8:19 ` Gleb Natapov
2010-07-01 15:45 ` Paul Brook
2010-07-01 18:50 ` Anthony Liguori
2010-07-01 21:40 ` Paul Brook
2010-07-03 7:39 ` Jan Kiszka
2010-07-03 7:49 ` Blue Swirl
2010-07-03 7:55 ` Jan Kiszka
2010-07-04 22:06 ` Paul Brook
2010-07-05 6:39 ` Jan Kiszka
2010-07-05 6:42 ` Gleb Natapov
2010-07-05 6:49 ` Jan Kiszka
2010-07-05 7:00 ` Gleb Natapov
2010-07-05 7:36 ` Jan Kiszka
2010-07-05 8:47 ` Avi Kivity
2010-07-05 9:07 ` Jan Kiszka
2010-07-05 9:09 ` Gleb Natapov
2010-07-05 9:23 ` Avi Kivity
2010-07-05 11:13 ` Jan Kiszka
2010-07-05 11:40 ` Avi Kivity
2010-07-05 12:16 ` Jan Kiszka [this message]
2010-07-05 12:20 ` Gleb Natapov
2010-07-05 13:24 ` Jan Kiszka
2010-07-05 13:42 ` Avi Kivity
2010-07-05 13:44 ` Gleb Natapov
2010-07-05 12:23 ` Avi Kivity
2010-07-05 13:28 ` Jan Kiszka
2010-07-05 13:47 ` Avi Kivity
2010-07-05 17:12 ` Blue Swirl
2010-07-05 17:32 ` Jan Kiszka
2010-07-05 17:45 ` Avi Kivity
2010-07-01 18:42 ` Anthony Liguori
2010-06-30 15:40 ` [Qemu-devel] " Lucas Meneghel Rodrigues
2013-10-01 9:34 ` Ben A
2013-10-01 15:56 ` Gleb Natapov
2013-10-01 16:23 ` Ben "Root" Anderson
2013-10-01 16:33 ` Gleb Natapov
2013-10-01 16:36 ` Ben "Root" Anderson
2013-10-01 16:47 ` Gleb Natapov
2013-10-01 9:35 ` Ben A
2014-06-15 23:31 ` AndCycle
2019-05-22 7:27 ` Thomas Huth
2019-05-24 14:58 ` Lucas Meneghel Rodrigues
2019-07-24 4:17 ` Launchpad Bug Tracker
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=4C31CD38.5050904@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=gleb@redhat.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 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.