[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 25/25] ui: fix virtual timers
From: |
Pavel Dovgalyuk |
Subject: |
[Qemu-devel] [PATCH v6 25/25] ui: fix virtual timers |
Date: |
Wed, 12 Sep 2018 11:20:13 +0300 |
User-agent: |
StGit/0.17.1-dirty |
UI uses timers based on virtual clock for managing key queue.
This is incorrect because this service is not related to the guest state,
and its events should not be recorded and replayed. But these timers should
stop when the guest is not executing.
This patch changes using virtual clock to the new virtual_ext clock,
which runs as virtual clock, but its timers are not saved to the log.
Signed-off-by: Pavel Dovgalyuk <address@hidden>
---
ui/input.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ui/input.c b/ui/input.c
index 51b1019..dd7f6d7 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -271,7 +271,7 @@ static void qemu_input_queue_process(void *opaque)
item = QTAILQ_FIRST(queue);
switch (item->type) {
case QEMU_INPUT_QUEUE_DELAY:
- timer_mod(item->timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL)
+ timer_mod(item->timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL_EXT)
+ item->delay_ms);
return;
case QEMU_INPUT_QUEUE_EVENT:
@@ -301,7 +301,7 @@ static void qemu_input_queue_delay(struct
QemuInputEventQueueHead *queue,
queue_count++;
if (start_timer) {
- timer_mod(item->timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL)
+ timer_mod(item->timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL_EXT)
+ item->delay_ms);
}
}
@@ -448,8 +448,8 @@ void qemu_input_event_send_key_delay(uint32_t delay_ms)
}
if (!kbd_timer) {
- kbd_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL, qemu_input_queue_process,
- &kbd_queue);
+ kbd_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL_EXT,
+ qemu_input_queue_process, &kbd_queue);
}
if (queue_count < queue_limit) {
qemu_input_queue_delay(&kbd_queue, kbd_timer,
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, (continued)
[Qemu-devel] [PATCH v6 22/25] replay: add BH oneshot event for block layer, Pavel Dovgalyuk, 2018/09/12
[Qemu-devel] [PATCH v6 23/25] timer: introduce new virtual clock, Pavel Dovgalyuk, 2018/09/12
[Qemu-devel] [PATCH v6 24/25] slirp: fix ipv6 timers, Pavel Dovgalyuk, 2018/09/12
[Qemu-devel] [PATCH v6 25/25] ui: fix virtual timers,
Pavel Dovgalyuk <=
Re: [Qemu-devel] [PATCH v6 00/25] Fixing record/replay and adding reverse debugging, Paolo Bonzini, 2018/09/13
[Qemu-devel] [PATCH v6 00/25] Fixing record/replay and adding reverse debugging, Artem Pisarenko, 2018/09/30