From: Jamie Lokier <jamie@shareable.org>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 11/19] use a bottom half to run timers
Date: Mon, 4 Jan 2010 19:38:19 +0000 [thread overview]
Message-ID: <20100104193819.GC13537@shareable.org> (raw)
In-Reply-To: <4B424E95.4040806@codemonkey.ws>
Anthony Liguori wrote:
> introduces a subtle semantic change. Previously, timers always ran
> before bottom halves whereas after this change, timers may run after
> some bottoms halves but before others. While this should be okay in
> principle, in practice, I'm sure it'll introduce regressions. I'd be
> very surprised if cris wasn't affected by this.
In principle, if it does affect something, it seems likely there is
already a buggy race condition. After all, if the timer and bottom
half could trigger at the same time, which is the condition where the
order is significant, then in principle the timer could have triggered
slightly later because it depends on the host alarm behaviour.
> But more importantly, I think timer dispatch needs to be part of the
> select loop. malc has a git tree that replaces host alarm timers with
> select() timeouts. This has a lot of really nice properties like it
> eliminates the need for signals and EINTR handling. A move like this
> would likely make this more difficult.
I agree that select loop is better, but don't you still need a host
alarm signal for when the guest is running for a long time without
trapping?
-- Jamie
next prev parent reply other threads:[~2010-01-04 19:38 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-21 8:09 [Qemu-devel] [PATCH 00/19][RFC] Cleanups + split timer handling out of vl.o Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 01/19] centralize handling of -icount Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 02/19] add qemu_icount_round Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 03/19] avoid dubiously clever code in win32_start_timer Paolo Bonzini
2010-01-04 19:34 ` Anthony Liguori
2010-01-04 18:39 ` Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 04/19] fix error in win32_rearm_timer Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 05/19] only one flag is needed for alarm_timer Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 06/19] more alarm timer cleanup Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 07/19] add qemu_get_clock_ns Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 08/19] move kbd/mouse events to event.c Paolo Bonzini
2010-01-04 20:19 ` Anthony Liguori
2009-12-21 8:09 ` [Qemu-devel] [PATCH 09/19] remove qemu_rearm_alarm_timer from main loop Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 10/19] add qemu_bh_scheduled Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 11/19] use a bottom half to run timers Paolo Bonzini
2010-01-04 20:24 ` Anthony Liguori
2010-01-04 19:38 ` Jamie Lokier [this message]
2010-01-05 8:38 ` Paolo Bonzini
2010-01-04 20:01 ` [Qemu-devel] " Michael S. Tsirkin
2010-01-04 23:54 ` Anthony Liguori
2010-01-05 12:07 ` Michael S. Tsirkin
2010-01-05 15:23 ` malc
2010-01-05 15:23 ` Michael S. Tsirkin
2010-01-05 15:32 ` malc
2010-01-05 15:33 ` Michael S. Tsirkin
2010-01-05 15:39 ` malc
2010-01-04 20:01 ` Paolo Bonzini
2010-01-04 23:59 ` Anthony Liguori
2010-01-05 12:48 ` Paolo Bonzini
2010-01-05 13:06 ` Anthony Liguori
2010-01-06 1:20 ` Jamie Lokier
2009-12-21 8:09 ` [Qemu-devel] [PATCH 12/19] new function qemu_icount_delta Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 13/19] move tcg_has_work to cpu-exec.c and rename it Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 14/19] disentangle tcg and deadline calculation Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 15/19] do not provide qemu_event_increment if iothread not used Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 16/19] tweak qemu_notify_event Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 17/19] move vmstate registration of vmstate_timers earlier Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 18/19] introduce qemu_clock_enable Paolo Bonzini
2009-12-21 8:09 ` [Qemu-devel] [PATCH 19/19] split out qemu-timer.c Paolo Bonzini
2010-01-04 20:26 ` Anthony Liguori
2010-01-04 19:26 ` [Qemu-devel] [PATCH 00/19][RFC] Cleanups + split timer handling out of vl.o Anthony Liguori
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=20100104193819.GC13537@shareable.org \
--to=jamie@shareable.org \
--cc=anthony@codemonkey.ws \
--cc=pbonzini@redhat.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).