From: Anthony Liguori <aliguori@us.ibm.com>
To: Avi Kivity <avi@redhat.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH 18/21] Remove host_alarm_timer hacks.
Date: Thu, 30 Apr 2009 08:19:40 -0500 [thread overview]
Message-ID: <49F9A56C.5000705@us.ibm.com> (raw)
In-Reply-To: <49F972EB.3040208@redhat.com>
Avi Kivity wrote:
> Anthony Liguori wrote:
>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>> ---
>> vl.c | 3 +--
>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>
>> diff --git a/vl.c b/vl.c
>> index 3b0e3dc..848a8f8 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -1367,8 +1367,7 @@ static void host_alarm_handler(int host_signum)
>> last_clock = ti;
>> }
>> #endif
>> - if (1 ||
>> - alarm_has_dynticks(alarm_timer) ||
>> + if (alarm_has_dynticks(alarm_timer) ||
>> (!use_icount &&
>> qemu_timer_expired(active_timers[QEMU_TIMER_VIRTUAL],
>> qemu_get_clock(vm_clock))) ||
>>
>
> This was added to fix a problem. Have you tested it?
Do you know what problem it fixes?
This goes back a very long time. IIUC, this was added prior to the IO
thread as an "optimization". This ensures that any time there's a
timer, the vcpu is interrupted to allow IO to run. With non-dynticks,
there can be spurious timer signals because we problem the timer with a
fixed frequency. It's necessary to take this path with dynticks because
we need to rearm the timer which happens in the IO path. It's not
necessary to take this path with a non-dynticks timer unless there's
been an expiration.
In modern KVM, the IO thread is capable of interrupting the CPU whenever
it needs to process IO. Therefore this "problem" no longer exists.
Regards,
Anthony Liguori
--
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-04-30 13:19 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-29 21:20 [PATCH 0/21] Remove merge artifacts from qemu-kvm Anthony Liguori
2009-04-29 21:20 ` [PATCH 01/21] Remove memalign call for guess_disk_lchs Anthony Liguori
2009-04-29 21:20 ` [PATCH 02/21] Remove devfn from BlockDriverState Anthony Liguori
2009-04-29 21:20 ` [PATCH 03/21] Remove use of signalfd in block-raw-posix.c Anthony Liguori
2009-04-30 9:28 ` Avi Kivity
2009-04-30 12:54 ` Anthony Liguori
2009-04-30 13:05 ` Avi Kivity
2009-04-30 13:28 ` Anthony Liguori
2009-04-30 13:36 ` Avi Kivity
2009-05-03 16:48 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 04/21] Remove stray whitespace Anthony Liguori
2009-04-29 21:20 ` [PATCH 05/21] Remove extra call to kvm_cpu_exec() Anthony Liguori
2009-04-29 21:20 ` [PATCH 06/21] Remove dead functions from cutils Anthony Liguori
2009-04-29 21:20 ` [PATCH 07/21] Remove dead macros likely/unlikely in exec.c Anthony Liguori
2009-04-29 21:20 ` [PATCH 08/21] Remove leftovers in device-hotplug.c Anthony Liguori
2009-04-29 21:20 ` [PATCH 09/21] Remove unnecessary setting of cmos smp_cpu count Anthony Liguori
2009-04-29 21:20 ` [PATCH 10/21] Remove IBM copyright in unmodified file in upstream Anthony Liguori
2009-04-29 21:38 ` Hollis Blanchard
2009-04-29 21:20 ` [PATCH 11/21] Remove unused variables in vga.c Anthony Liguori
2009-04-30 9:33 ` Avi Kivity
2009-04-30 13:09 ` Anthony Liguori
2009-04-29 21:20 ` [PATCH 12/21] Remove odd hack " Anthony Liguori
2009-04-30 9:39 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 13/21] Remove virtio-console PIF change Anthony Liguori
2009-04-30 9:40 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 14/21] Remove -cpu-vendor-string Anthony Liguori
2009-04-30 9:41 ` Avi Kivity
2009-04-30 13:10 ` Anthony Liguori
2009-04-30 13:16 ` Avi Kivity
2009-04-30 13:26 ` Anthony Liguori
2009-04-30 13:33 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 15/21] Remove defined(TARGET_X86_64) Anthony Liguori
2009-04-29 21:20 ` [PATCH 16/21] Remove clean rule change Anthony Liguori
2009-04-30 9:42 ` Avi Kivity
2009-04-30 15:10 ` Hollis Blanchard
2009-04-30 15:13 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 17/21] Remove #define __user in usb-linux.c Anthony Liguori
2009-04-30 9:43 ` Avi Kivity
2009-04-30 13:11 ` Anthony Liguori
2009-04-30 13:17 ` Avi Kivity
2009-04-30 13:20 ` Anthony Liguori
2009-04-29 21:20 ` [PATCH 18/21] Remove host_alarm_timer hacks Anthony Liguori
2009-04-30 9:44 ` Avi Kivity
2009-04-30 13:19 ` Anthony Liguori [this message]
2009-04-30 13:25 ` Avi Kivity
2009-04-30 13:37 ` Anthony Liguori
2009-04-30 15:46 ` Avi Kivity
2009-04-30 15:49 ` Anthony Liguori
2009-04-30 15:53 ` Avi Kivity
2009-04-29 21:20 ` [PATCH 19/21] Use QEMU_PKGVERSION to declare kvm-devel Anthony Liguori
2009-04-29 21:20 ` [PATCH 20/21] Get rid of qemu_get_launch_info() Anthony Liguori
2009-04-29 21:20 ` [PATCH 21/21] Leave upstream QEMU comments intact Anthony Liguori
2009-04-30 9:50 ` [PATCH 0/21] Remove merge artifacts from qemu-kvm Avi Kivity
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=49F9A56C.5000705@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.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