From: Frederic Konrad <fred.konrad@greensocs.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, mark.burton@greensocs.com
Subject: Re: [Qemu-devel] [RFC] icount: warp in the main_loop.
Date: Fri, 04 Jul 2014 12:28:39 +0200 [thread overview]
Message-ID: <53B681D7.5020005@greensocs.com> (raw)
In-Reply-To: <53B65E76.4040900@redhat.com>
On 04/07/2014 09:57, Paolo Bonzini wrote:
> Il 04/07/2014 09:30, Frederic Konrad ha scritto:
>>> + /*
>>> + * In icount mode, sometimes the VCPU is blocked and an event is
>>> needed to
>>> + * continue.
>>> + * Just warp to make the time grows and have a chance to run the
>>> CPU.
>>> + */
>>> + qemu_clock_warp(QEMU_CLOCK_VIRTUAL);
>>> return ret;
>>> }
>>>
>> Paolo,
>> You mentioned some icount patches (I can't find where) can you point me
>> to them?
>> Did you already had this bug?
>
> Why is this needed? It's possible that a qemu_clock_warp code is
> missing somewhere, but for timers it should be handled here:
>
> static void timerlist_rearm(QEMUTimerList *timer_list)
> {
> /* Interrupt execution to force deadline recalculation. */
> qemu_clock_warp(timer_list->clock->type);
> timerlist_notify(timer_list);
> }
>
> If the VCPU is blocked, it will set vm_clock_warp_start to the
> realtime clock value ("clock") a QEMU_CLOCK_REALTIME timer to the next
> deadline ("clock + deadline"). At the next deadline, icount_warp_rt
> will increase QEMU_CLOCK_VIRTUAL by "clock - vm_clock_warp_state"
> which should trigger the clock event.
Right, but when I put a timer eg on QEMU_VIRTUAL_CLOCK the guest is stuck.
icount_warp_rt is not called neither qemu_clock_warp(..)..
So yes as you said seems a qemu_clock_warp is missing somewhere.
Shouldn't icount_warp_rt called regularly to advance the time when the
VCPU is not
executing?
Thanks,
Fred
>
> Paolo
next prev parent reply other threads:[~2014-07-04 10:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-01 16:13 [Qemu-devel] [RFC] icount: warp in the main_loop fred.konrad
2014-07-04 7:30 ` Frederic Konrad
2014-07-04 7:57 ` Paolo Bonzini
2014-07-04 10:28 ` Frederic Konrad [this message]
2014-07-04 10:36 ` Paolo Bonzini
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=53B681D7.5020005@greensocs.com \
--to=fred.konrad@greensocs.com \
--cc=mark.burton@greensocs.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--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.