KVM virtual PTP driver
Subsystems (7)
cover KVM virtual PTP driver
This patchset implements a virtual PTP driver which allows guest to sync its clock to the host clock with high precision ( error is < 10ns).
PATCH 1/3 KVM: x86: provide realtime host clock via vsyscall notifiers
Expose the realtime host clock and save the TSC value used for the clock calculation.
--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)
arch/x86/kvm/x86.c +38 -0
@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec; };static struct pvclock_gtod_data pvclock_gtod_data;
@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec; + vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec; + write_seqcount_end(&vdata->seq); }#endif
@@ -1623,6 +1628,28 @@return mode; } +static int do_realtime (struct timespec *ts,cycle_t *cycle_now) +{ +struct pvclock_gtod_data *gtod = &pvclock_gtod_data; +unsigned long seq; +int mode; +u64 ns; + +do { + seq =read_seqcount_begin (>od->seq); + mode = gtod->clock.vclock_mode; + ts->tv_sec = gtod->wall_time_sec; + ns = gtod->wall_time_snsec; + ns +=vgettsc (cycle_now); + ns >>= gtod->clock.shift; + }while (unlikely (read_seqcount_retry (>od->seq, seq))); + + ts->tv_sec +=__iter_div_u64_rem (ns,NSEC_PER_SEC , &ns); + ts->tv_nsec = ns; + +return mode; +} +/* returns true if host is using tsc clocksource */ static bool kvm_get_time_and_clockread (s64 *kernel_ns,cycle_t *cycle_now) {
@@ -1632,6 +1659,17 @@ return do_monotonic_boot(kernel_ns, cycle_now) == VCLOCK_TSC; } + +/* returns true if host is using tsc clocksource */ +static bool kvm_get_walltime_and_clockread (struct timespec *ts, +cycle_t *cycle_now) +{ +/* checked again under seqlock below */ +if (pvclock_gtod_data.clock.vclock_mode !=VCLOCK_TSC ) +return false; + +return do_realtime (ts, cycle_now) ==VCLOCK_TSC ; +}#endif /*
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 14 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================
arch/x86/kvm/x86.c line 1143
Quoted 5 lines
arch/x86/kvm/x86.c +2
-0@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;
The leading "s" in "snsec" looks like a copy-paste residue.
arch/x86/kvm/x86.c line 1168
Quoted 9 lines
arch/x86/kvm/x86.c +2
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec; + vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;
Using tk->tkr_mono offsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?
If it's ok, then vdata->nsec_base == vdata->wall_time_snsec, so we don't need it.
arch/x86/kvm/x86.c line 1631
Quoted 9 lines
arch/x86/kvm/x86.c +2
-0+ write_seqcount_end(&vdata->seq); }#endif @@ -1623,6 +1628,28 @@return mode; } +static int do_realtime (struct timespec *ts,cycle_t *cycle_now)
This is too similar to do_monotonic_boot(), but I don't see a solution that is both nice and efficient. :(
(It usually means macros or copying pvclock_gtod_data.)
Quoted 44 lines
arch/x86/kvm/x86.c +32
-0+{ +struct pvclock_gtod_data *gtod = &pvclock_gtod_data; +unsigned long seq; +int mode; +u64 ns; + +do { + seq =read_seqcount_begin (>od->seq); + mode = gtod->clock.vclock_mode; + ts->tv_sec = gtod->wall_time_sec; + ns = gtod->wall_time_snsec; + ns +=vgettsc (cycle_now); + ns >>= gtod->clock.shift; + }while (unlikely (read_seqcount_retry (>od->seq, seq))); + + ts->tv_sec +=__iter_div_u64_rem (ns,NSEC_PER_SEC , &ns); + ts->tv_nsec = ns; + +return mode; +} +/* returns true if host is using tsc clocksource */ static bool kvm_get_time_and_clockread (s64 *kernel_ns,cycle_t *cycle_now) {@@ -1632,6 +1659,17 @@ return do_monotonic_boot(kernel_ns, cycle_now) == VCLOCK_TSC; } + +/* returns true if host is using tsc clocksource */ +static bool kvm_get_walltime_and_clockread (struct timespec *ts, +cycle_t *cycle_now) +{ +/* checked again under seqlock below */ +if (pvclock_gtod_data.clock.vclock_mode !=VCLOCK_TSC ) +return false; + +return do_realtime (ts, cycle_now) ==VCLOCK_TSC ; +}#endif /*
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
Quoted 16 lines · Radim Krcmar
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 15 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c +0
-0@@ -1139,6 +1139,8 @@
Quoted 6 lines
arch/x86/kvm/x86.c line 1143
Quoted 4 lines
arch/x86/kvm/x86.c +2
-0u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
Just copying the userspace vsyscall interface.
Quoted 7 lines
Quoted 7 lines
arch/x86/kvm/x86.c +0
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec;
Quoted 5 lines
arch/x86/kvm/x86.c line 1168
Quoted 2 lines
arch/x86/kvm/x86.c +2
-0+ vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?
Both the userspace vsyscall interface and getnstimeofday use it for realtime clock.
Monotonic clock adds the offset:
vdata->monotonic_time_snsec = tk->tkr_mono.xtime_nsec
+
((u64)tk->wall_to_monotonic.tv_nsec
<< tk->tkr_mono.shift);Quoted 2 lines
If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.
Just copying the userspace vsyscall interface.
Do you actually want to change the "s" and unify wall_time_snsec with nsec_base?
Quoted 8 lines
Quoted 8 lines
arch/x86/kvm/x86.c +1
-0+ write_seqcount_end(&vdata->seq); }#endif @@ -1623,6 +1628,28 @@return mode; }
Quoted 6 lines
arch/x86/kvm/x86.c line 1631
Quoted 1 line
arch/x86/kvm/x86.c +1
-0+static int do_realtime (struct timespec *ts,cycle_t *cycle_now)This is too similar to
do_monotonic_boot(), but I don't see a solution that is both nice and efficient. :((It usually means macros or copying
pvclock_gtod_data.)
Yep.
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
2017-01-13 13:34-0200, Marcelo Tosatti:
Quoted 17 lines · Radim Krcmar
Quoted 16 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 15 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c +0
-0@@ -1139,6 +1139,8 @@
Quoted 8 lines
Quoted 6 lines
arch/x86/kvm/x86.c line 1143
Quoted 4 lines
arch/x86/kvm/x86.c +2
-0u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
Just copying the userspace vsyscall interface.
Oh, so the "s" means "sub-" for sub-nanosecond precision.
Quoted 16 lines
Quoted 7 lines
Quoted 7 lines
arch/x86/kvm/x86.c +0
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec;Quoted 5 lines
arch/x86/kvm/x86.c line 1168
Quoted 2 lines
arch/x86/kvm/x86.c +2
-0+ vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?Both the userspace vsyscall interface and getnstimeofday use it for realtime clock.
Quoted 6 lines
Monotonic clock adds the offset:
vdata->monotonic_time_snsec = tk->tkr_mono.xtime_nsec + ((u64)tk->wall_to_monotonic.tv_nsec << tk->tkr_mono.shift);
I see, thanks. Makes me wonder why our monotonic time is correct then, but that is problably thanks to boot_ns.
Quoted 7 lines
Quoted 2 lines
If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.Just copying the userspace vsyscall interface.
Do you actually want to change the "s" and unify
wall_time_snsecwithnsec_base?
The "s" isn't important, even though I don't think we do anything that would justify it, but make use just 8 bytes for both. Renaming nsec_base is ok, but I'm not sure what tk->tkr_mono.xtime_nsec is anymore.
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
Quoted 25 lines · Radim Krcmar
2017-01-13 13:34-0200, Marcelo Tosatti:
Quoted 24 lines · Radim Krcmar
Quoted 22 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 14 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c line 1143
Quoted 5 lines
arch/x86/kvm/x86.c +2
-0@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
Quoted 3 lines
Quoted 1 line
Just copying the userspace vsyscall interface.
Oh, so the "s" means "sub-" for sub-nanosecond precision.
It only counts nanoseconds, how can it be sub nanosecond precise?
Quoted 18 lines
Quoted 18 lines
Quoted 7 lines
Quoted 7 lines
arch/x86/kvm/x86.c +0
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec;Quoted 5 lines
arch/x86/kvm/x86.c line 1168
Quoted 2 lines
arch/x86/kvm/x86.c +2
-0+ vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?Both the userspace vsyscall interface and getnstimeofday use it for realtime clock.
Monotonic clock adds the offset:
Quoted 7 lines
Quoted 4 lines
vdata->monotonic_time_snsec = tk->tkr_mono.xtime_nsec + ((u64)tk->wall_to_monotonic.tv_nsec << tk->tkr_mono.shift);I see, thanks. Makes me wonder why our monotonic time is correct then, but that is problably thanks to
boot_ns.
The actual starting point of the system_timestamp part of kvmclock does not matter, all it matters is that it counts in nanoseconds.
Quoted 10 lines
Quoted 7 lines
Quoted 2 lines
If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.Just copying the userspace vsyscall interface.
Do you actually want to change the "s" and unify
wall_time_snsecwithnsec_base?The "s" isn't important, even though I don't think we do anything that would justify it, but make use just 8 bytes for both.
Unified.
Quoted 2 lines
Renaming
nsec_baseis ok, but I'm not sure whattk->tkr_mono.xtime_nsecis anymore.
Is the nsec part of tk->xtime_sec. See accumulate_nsecs_to_secs (which is called from the timer interrupt handler).
/**
* struct timekeeper - Structure holding internal timekeeping values.
* @tkr_mono: The readout base structure for CLOCK_MONOTONIC
* @tkr_raw: The readout base structure for
* CLOCK_MONOTONIC_RAW
* @xtime_sec: Current CLOCK_REALTIME time in seconds * @ktime_sec: Current CLOCK_MONOTONIC time in seconds * @wall_to_monotonic: CLOCK_REALTIME to CLOCK_MONOTONIC offset * @offs_real: Offset clock monotonic -> clock realtime * @offs_boot: Offset clock monotonic -> clock boottime * @offs_tai: Offset clock monotonic -> clock tai * @tai_offset: The current UTC to TAI offset in seconds
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
2017-01-13 15:51-0200, Marcelo Tosatti:
Quoted 26 lines · Radim Krcmar
Quoted 25 lines
2017-01-13 13:34-0200, Marcelo Tosatti:
Quoted 24 lines · Radim Krcmar
Quoted 22 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 14 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c line 1143
Quoted 5 lines
arch/x86/kvm/x86.c +2
-0@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
Quoted 5 lines
Quoted 3 lines
Quoted 1 line
Just copying the userspace vsyscall interface.
Oh, so the "s" means "sub-" for sub-nanosecond precision.
It only counts nanoseconds, how can it be sub nanosecond precise?
Because it doesn't count nanoseconds. In update_vsyscall(), the *_snsec are shifted by tk->tkr_mono.shift bits to the left and that precision goes to sub-nanoseconds.
64 bit value makes sense then -- would be nice if we could pass that extra precision to the guest.
Quoted 23 lines
Quoted 23 lines
Quoted 22 lines
Quoted 7 lines
Quoted 7 lines
arch/x86/kvm/x86.c +0
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec;Quoted 5 lines
arch/x86/kvm/x86.c line 1168
Quoted 2 lines
arch/x86/kvm/x86.c +2
-0+ vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?Both the userspace vsyscall interface and getnstimeofday use it for realtime clock.
Monotonic clock adds the offset:
vdata->monotonic_time_snsec = tk->tkr_mono.xtime_nsec + ((u64)tk->wall_to_monotonic.tv_nsec << tk->tkr_mono.shift);
Quoted 5 lines
Quoted 2 lines
I see, thanks. Makes me wonder why our monotonic time is correct then, but that is problably thanks to
boot_ns.The actual starting point of the
system_timestamppart of kvmclock does not matter, all it matters is that it counts in nanoseconds.
True.
Quoted 11 lines
Quoted 10 lines
Quoted 7 lines
Quoted 2 lines
If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.Just copying the userspace vsyscall interface.
Do you actually want to change the "s" and unify
wall_time_snsecwithnsec_base?The "s" isn't important, even though I don't think we do anything that would justify it, but make use just 8 bytes for both.
Quoted 7 lines
Unified.
Quoted 2 lines
Renaming
nsec_baseis ok, but I'm not sure whattk->tkr_mono.xtime_nsecis anymore.Is the nsec part of
tk->xtime_sec. Seeaccumulate_nsecs_to_secs(which is called from the timer interrupt handler).
I see, thanks. They are not nanoseconds as the sub-nanosecond shift is there as well:
u64 nsecps = (u64)NSEC_PER_SEC << tk->tkr_mono.shift;
while (tk->tkr_mono.xtime_nsec >= nsecps) {
tk->tkr_mono.xtime_nsec -= nsecps;
tk->xtime_sec++;
}Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
In reply to Radim KrcmarQuoted 47 lines · Radim Krcmar
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 14 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c line 1143
Quoted 5 lines
arch/x86/kvm/x86.c +2
-0@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
arch/x86/kvm/x86.c line 1168
Quoted 9 lines
arch/x86/kvm/x86.c +2
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec; + vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.Quoted 8 lines
arch/x86/kvm/x86.c +1
-0+ write_seqcount_end(&vdata->seq); }#endif @@ -1623,6 +1628,28 @@return mode; }
Quoted 6 lines
arch/x86/kvm/x86.c line 1631
Quoted 1 line
arch/x86/kvm/x86.c +1
-0+static int do_realtime (struct timespec *ts,cycle_t *cycle_now)This is too similar to
do_monotonic_boot(), but I don't see a solution that is both nice and efficient. :((It usually means macros or copying
pvclock_gtod_data.)
PV Clock is hypervisor agnostic so both KVM and Xen can use it. Is this clock interface suppose to follow that?
Thanks.
Quoted 49 lines
Quoted 35 lines
arch/x86/kvm/x86.c +25
-0+{ +struct pvclock_gtod_data *gtod = &pvclock_gtod_data; +unsigned long seq; +int mode; +u64 ns; + +do { + seq =read_seqcount_begin (>od->seq); + mode = gtod->clock.vclock_mode; + ts->tv_sec = gtod->wall_time_sec; + ns = gtod->wall_time_snsec; + ns +=vgettsc (cycle_now); + ns >>= gtod->clock.shift; + }while (unlikely (read_seqcount_retry (>od->seq, seq))); + + ts->tv_sec +=__iter_div_u64_rem (ns,NSEC_PER_SEC , &ns); + ts->tv_nsec = ns; + +return mode; +} +/* returns true if host is using tsc clocksource */ static bool kvm_get_time_and_clockread (s64 *kernel_ns,cycle_t *cycle_now) {@@ -1632,6 +1659,17 @@return do_monotonic_boot (kernel_ns, cycle_now) ==VCLOCK_TSC ; } + +/* returns true if host is using tsc clocksource */ +static bool kvm_get_walltime_and_clockread (struct timespec *ts, +cycle_t *cycle_now)arch/x86/kvm/x86.c line 1675
Quoted 10 lines
arch/x86/kvm/x86.c +7
-0+{ +/* checked again under seqlock below */ +if (pvclock_gtod_data.clock.vclock_mode !=VCLOCK_TSC ) +return false; + +return do_realtime (ts, cycle_now) ==VCLOCK_TSC ; +}#endif /* --
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
Quoted 53 lines · Konrad Rzeszutek Wilk
Quoted 52 lines · Radim Krcmar
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 14 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c line 1143
Quoted 5 lines
arch/x86/kvm/x86.c +2
-0@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
arch/x86/kvm/x86.c line 1168
Quoted 9 lines
arch/x86/kvm/x86.c +2
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec; + vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.arch/x86/kvm/x86.c line 1631
Quoted 9 lines
arch/x86/kvm/x86.c +2
-0+ write_seqcount_end(&vdata->seq); }#endif @@ -1623,6 +1628,28 @@return mode; } +static int do_realtime (struct timespec *ts,cycle_t *cycle_now)This is too similar to
do_monotonic_boot(), but I don't see a solution that is both nice and efficient. :(
Quoted 5 lines
Quoted 1 line
(It usually means macros or copying
pvclock_gtod_data.)PV Clock is hypervisor agnostic so both KVM and Xen can use it. Is this clock interface suppose to follow that?
If Xen implements the KVM_HC_CLOCK_OFFSET hypercall, Xen guests can use the kvm ptp driver, yes.
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel
Re: [patch 1/3] KVM: x86: provide realtime host clock via vsyscall notifiers
In reply to Radim KrcmarQuoted 47 lines · Radim Krcmar
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 14 lines
Expose the realtime host clock and save the TSC value used for the clock calculation.
Signed-off-by Marcelo Tosatti <[email protected]>--- arch/x86/kvm/x86.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c line 1143
Quoted 5 lines
arch/x86/kvm/x86.c +2
-0@@ -1139,6 +1139,8 @@u64 boot_ns;u64 nsec_base; +u64 wall_time_sec; +u64 wall_time_snsec;The leading "s" in "snsec" looks like a copy-paste residue.
arch/x86/kvm/x86.c line 1168
Quoted 9 lines
arch/x86/kvm/x86.c +2
-0};static struct pvclock_gtod_data pvclock_gtod_data;@@ -1162,6 +1164,9 @@ vdata->boot_ns = boot_ns; vdata->nsec_base = tk->tkr_mono.xtime_nsec; + vdata->wall_time_sec = tk->xtime_sec; + vdata->wall_time_snsec = tk->tkr_mono.xtime_nsec;Using
tk->tkr_monooffsets for real time seems wrong -- what happens if the real time is half a second shifted from monotonic time?If it's ok, then
vdata->nsec_base==vdata->wall_time_snsec, so we don't need it.Quoted 8 lines
arch/x86/kvm/x86.c +1
-0+ write_seqcount_end(&vdata->seq); }#endif @@ -1623,6 +1628,28 @@return mode; }
Quoted 6 lines
arch/x86/kvm/x86.c line 1631
Quoted 1 line
arch/x86/kvm/x86.c +1
-0+static int do_realtime (struct timespec *ts,cycle_t *cycle_now)This is too similar to
do_monotonic_boot(), but I don't see a solution that is both nice and efficient. :((It usually means macros or copying
pvclock_gtod_data.)
PV Clock is hypervisor agnostic so both KVM and Xen can use it. Is this clock interface suppose to follow that?
Thanks.
Quoted 42 lines
Quoted 42 lines
arch/x86/kvm/x86.c +32
-0+{ +struct pvclock_gtod_data *gtod = &pvclock_gtod_data; +unsigned long seq; +int mode; +u64 ns; + +do { + seq =read_seqcount_begin (>od->seq); + mode = gtod->clock.vclock_mode; + ts->tv_sec = gtod->wall_time_sec; + ns = gtod->wall_time_snsec; + ns +=vgettsc (cycle_now); + ns >>= gtod->clock.shift; + }while (unlikely (read_seqcount_retry (>od->seq, seq))); + + ts->tv_sec +=__iter_div_u64_rem (ns,NSEC_PER_SEC , &ns); + ts->tv_nsec = ns; + +return mode; +} +/* returns true if host is using tsc clocksource */ static bool kvm_get_time_and_clockread (s64 *kernel_ns,cycle_t *cycle_now) {@@ -1632,6 +1659,17 @@ return do_monotonic_boot(kernel_ns, cycle_now) == VCLOCK_TSC; } + +/* returns true if host is using tsc clocksource */ +static bool kvm_get_walltime_and_clockread (struct timespec *ts, +cycle_t *cycle_now) +{ +/* checked again under seqlock below */ +if (pvclock_gtod_data.clock.vclock_mode !=VCLOCK_TSC ) +return false; + +return do_realtime (ts, cycle_now) ==VCLOCK_TSC ; +}#endif
Quoted 7 lines
arch/x86/kvm/x86.c line 1675
Quoted 3 lines
arch/x86/kvm/x86.c +0
-0/* --
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel
PATCH 2/3 KVM: x86: add KVM_HC_CLOCK_OFFSET hypercall
In reply to Marcelo TosattiAdd a hypercall to retrieve the host realtime clock and the TSC value used to calculate that clock read.
Used to implement clock synchronization between
host and guest.
--- Documentation/virtual/kvm/hypercalls.txt | 30 ++++++++++++++++++++++ arch/x86/include/uapi/asm/kvm_para.h | 9 ++++++ arch/x86/kvm/x86.c | 41 +++++++++++++++++++++++++++++++ include/uapi/linux/kvm_para.h | 3 ++ 4 files changed, 83 insertions(+)
arch/x86/include/uapi/asm/kvm_para.h +9 -0
@@ -50,6 +50,15 @@__u32 pad[11 ]; }; +#define KVM_CLOCK_OFFSET_WALLCLOCK 0 +struct kvm_clock_offset { +__s64 sec; +__s64 nsec; +__u64 tsc; +__u32 flags; +__u32 pad[1 ]; +}; +#define KVM_STEAL_ALIGNMENT_BITS 5#define KVM_STEAL_VALID_BITS ((-1ULL << (KVM_STEAL_ALIGNMENT_BITS + 1)))#define KVM_STEAL_RESERVED_MASK (((1 << KVM_STEAL_ALIGNMENT_BITS) - 1 ) << 1)
Documentation/virtual/kvm/hypercalls.txt +30 -0
@@ -81,3 +81,33 @@ same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall, specifying APIC ID (a1) of the vcpu to be woken up. An additional argument (a0) is used in the hypercall for future use. + + +6. KVM_HC_CLOCK_OFFSET +------------------------ +Architecture: x86 +Status: active +Purpose: Hypercall used to synchronize host and guest clocks. +Usage: + +a0: guest physical address where host copies +"struct kvm_clock_offset" structure. + +a1: clock_type, ATM only KVM_CLOCK_OFFSET_WALLCLOCK (0) +is supported (hosts CLOCK_REALTIME clock). + + struct kvm_clock_offset { + __s64 sec; + __s64 nsec; + __u64 tsc; + __u32 flags; + __u32 pad; + }; + + Where: + * sec: seconds from clock_type clock. + * nsec: nanoseconds from clock_type clock. + * tsc: TSC value used to calculate sec/nsec pair + (this hypercall only works when host uses TSC clocksource). + * flags: flags, unused at the moment. +
arch/x86/kvm/x86.c +41 -0
53 lines not on this page · raw message
include/uapi/linux/kvm_para.h +3 -0
@@ -14,6 +14,8 @@#define KVM_EFAULT EFAULT#define KVM_E2BIG E2BIG#define KVM_EPERM EPERM +#define KVM_EOPNOTSUPP EOPNOTSUPP +#define KVM_ENOMEM ENOMEM#define KVM_HC_VAPIC_POLL_IRQ 1#define KVM_HC_MMU_OP 2
@@ -23,6 +25,7 @@#define KVM_HC_MIPS_GET_CLOCK_FREQ 6#define KVM_HC_MIPS_EXIT_VM 7#define KVM_HC_MIPS_CONSOLE_OUTPUT 8 +#define KVM_HC_CLOCK_OFFSET 9/* * hypercalls use architecture specific
Re: [patch 2/3] KVM: x86: add KVM_HC_CLOCK_OFFSET hypercall
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 51 lines
Add a hypercall to retrieve the host realtime clock and the TSC value used to calculate that clock read.
Used to implement clock synchronization between
host and guest.Signed-off-by Marcelo Tosatti <[email protected]>--- Documentation/virtual/kvm/hypercalls.txt | 30 ++++++++++++++++++++++ arch/x86/include/uapi/asm/kvm_para.h | 9 ++++++ arch/x86/kvm/x86.c | 41 +++++++++++++++++++++++++++++++ include/uapi/linux/kvm_para.h | 3 ++ 4 files changed, 83 insertions(+)Index:
kvm-ptpdriver/arch/x86/include/uapi/asm/kvm_para.h
===================================================================arch/x86/include/uapi/asm/kvm_para.h +9
-0@@ -50,6 +50,15 @@__u32 pad[11 ]; }; +#define KVM_CLOCK_OFFSET_WALLCLOCK 0 +struct kvm_clock_offset { +__s64 sec; +__s64 nsec; +__u64 tsc; +__u32 flags; +__u32 pad[1 ]; +}; +#define KVM_STEAL_ALIGNMENT_BITS 5#define KVM_STEAL_VALID_BITS ((-1ULL << (KVM_STEAL_ALIGNMENT_BITS + 1)))#define KVM_STEAL_RESERVED_MASK (((1 << KVM_STEAL_ALIGNMENT_BITS) - 1 ) << 1)Index:
kvm-ptpdriver/Documentation/virtual/kvm/hypercalls.txt
===================================================================Documentation/virtual/kvm/hypercalls.txt +8
-0@@ -81,3 +81,33 @@ same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall, specifying APIC ID (a1) of the vcpu to be woken up. An additional argument (a0) is used in the hypercall for future use. + + +6. KVM_HC_CLOCK_OFFSET +------------------------ +Architecture: x86 +Status: active +Purpose: Hypercall used to synchronize host and guest clocks. +Usage:
Documentation/virtual/kvm/hypercalls.txt line 101
Quoted 10 lines
Documentation/virtual/kvm/hypercalls.txt +10
-0+ +a0: guest physical address where host copies +"struct kvm_clock_offset" structure. + +a1: clock_type, ATM only KVM_CLOCK_OFFSET_WALLCLOCK (0) +is supported (hosts CLOCK_REALTIME clock). + + struct kvm_clock_offset { + __s64 sec; + __s64 nsec;
Why is nsec:
1) signed -- it is a remainder after division by NSEC_PER_SEC
2) bigger than 32 bit -- NSEC_PER_SEC < 2^32
?
Documentation/virtual/kvm/hypercalls.txt line 109
Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt +8
-0+ __u64 tsc; + __u32 flags; + __u32 pad; + }; + + Where: + * sec: seconds from clock_type clock. + * nsec: nanoseconds from clock_type clock.
The important part of an offset is the starting point -- I assume it is the the usual one, but documentation better be explicit.
Documentation/virtual/kvm/hypercalls.txt line 110
Quoted 1 line
Documentation/virtual/kvm/hypercalls.txt +1
-0+ * tsc: TSC value used to calculate sec/nsec pair
This hypercall could in theory work even when computing the offset with a different clocksource on the host and the estimating TSC at that time.
Documentation/virtual/kvm/hypercalls.txt line 111
Quoted 1 line
Documentation/virtual/kvm/hypercalls.txt +1
-0+ (this hypercall only works when host uses TSC clocksource).
Describe that error as a return value.
Documentation/virtual/kvm/hypercalls.txt line 112
Quoted 1 line
Documentation/virtual/kvm/hypercalls.txt +1
-0+ * flags: flags, unused at the moment.
unused = 0.
Quoted 14 lines
Documentation/virtual/kvm/hypercalls.txt +1
-0+Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c +5
-0@@ -6121,6 +6121,44 @@ }EXPORT_SYMBOL_GPL (kvm_emulate_halt); +static int kvm_pv_clock_offset (struct kvm_vcpu *vcpu,gpa_t paddr, +unsigned long clock_type) +{ +struct kvm_clock_offset *clock_offset; +struct timespec ts;
arch/x86/kvm/x86.c line 6138
Quoted 10 lines
arch/x86/kvm/x86.c +10
-0+cycle_t cycle; +int ret; + +if (clock_type !=KVM_CLOCK_OFFSET_WALLCLOCK ) +return -KVM_EOPNOTSUPP ; + +if (pvclock_gtod_data.clock.vclock_mode !=VCLOCK_TSC ) +return -KVM_EOPNOTSUPP ; + + clock_offset =kzalloc (sizeof (struct kvm_clock_offset ),GFP_KERNEL );
Can't clock_offset be on the stack?
Quoted 59 lines
arch/x86/kvm/x86.c +26
-0+if (clock_offset ==NULL ) +return -KVM_ENOMEM ; + +if (kvm_get_walltime_and_clockread (&ts, &cycle) == false) { +kfree (clock_offset); +return -KVM_EOPNOTSUPP ; + } + + clock_offset->sec = ts.tv_sec; + clock_offset->nsec = ts.tv_nsec; + clock_offset->tsc =kvm_read_l1_tsc (vcpu, cycle); + clock_offset->flags =0 ; + + ret =0 ; +if (kvm_write_guest (vcpu->kvm, paddr, clock_offset, +sizeof (struct kvm_clock_offset ))) + ret = -KVM_EFAULT ; + +kfree (clock_offset); + +return ret; +} +/* * kvm_pv_kick_cpu_op: Kick a vcpu. * @@ -6185,6 +6223,9 @@kvm_pv_kick_cpu_op (vcpu->kvm, a0, a1); ret =0 ;break ; +case KVM_HC_CLOCK_OFFSET : + ret =kvm_pv_clock_offset (vcpu, a0, a1); +break ;default : ret = -KVM_ENOSYS ;break ;Index:
kvm-ptpdriver/include/uapi/linux/kvm_para.h
===================================================================include/uapi/linux/kvm_para.h +3
-0@@ -14,6 +14,8 @@#define KVM_EFAULT EFAULT#define KVM_E2BIG E2BIG#define KVM_EPERM EPERM +#define KVM_EOPNOTSUPP EOPNOTSUPP +#define KVM_ENOMEM ENOMEM#define KVM_HC_VAPIC_POLL_IRQ 1#define KVM_HC_MMU_OP 2@@ -23,6 +25,7 @@#define KVM_HC_MIPS_GET_CLOCK_FREQ 6#define KVM_HC_MIPS_EXIT_VM 7#define KVM_HC_MIPS_CONSOLE_OUTPUT 8 +#define KVM_HC_CLOCK_OFFSET 9/* * hypercalls use architecture specific
Re: [patch 2/3] KVM: x86: add KVM_HC_CLOCK_OFFSET hypercall
Quoted 57 lines · Radim Krcmar
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 56 lines
Add a hypercall to retrieve the host realtime clock and the TSC value used to calculate that clock read.
Used to implement clock synchronization between
host and guest.Signed-off-by Marcelo Tosatti <[email protected]>--- Documentation/virtual/kvm/hypercalls.txt | 30 ++++++++++++++++++++++ arch/x86/include/uapi/asm/kvm_para.h | 9 ++++++ arch/x86/kvm/x86.c | 41 +++++++++++++++++++++++++++++++ include/uapi/linux/kvm_para.h | 3 ++ 4 files changed, 83 insertions(+)Index:
kvm-ptpdriver/arch/x86/include/uapi/asm/kvm_para.h
===================================================================arch/x86/include/uapi/asm/kvm_para.h +9
-0@@ -50,6 +50,15 @@__u32 pad[11 ]; }; +#define KVM_CLOCK_OFFSET_WALLCLOCK 0 +struct kvm_clock_offset { +__s64 sec; +__s64 nsec; +__u64 tsc; +__u32 flags; +__u32 pad[1 ]; +}; +#define KVM_STEAL_ALIGNMENT_BITS 5#define KVM_STEAL_VALID_BITS ((-1ULL << (KVM_STEAL_ALIGNMENT_BITS + 1)))#define KVM_STEAL_RESERVED_MASK (((1 << KVM_STEAL_ALIGNMENT_BITS) - 1 ) << 1)Index:
kvm-ptpdriver/Documentation/virtual/kvm/hypercalls.txt
===================================================================Documentation/virtual/kvm/hypercalls.txt +13
-0@@ -81,3 +81,33 @@ same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall, specifying APIC ID (a1) of the vcpu to be woken up. An additional argument (a0) is used in the hypercall for future use. + + +6. KVM_HC_CLOCK_OFFSET +------------------------ +Architecture: x86 +Status: active +Purpose: Hypercall used to synchronize host and guest clocks. +Usage: + +a0: guest physical address where host copies +"struct kvm_clock_offset" structure. + +a1: clock_type, ATM only KVM_CLOCK_OFFSET_WALLCLOCK (0)
Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt line 101
Quoted 5 lines
Documentation/virtual/kvm/hypercalls.txt +5
-0+is supported (hosts CLOCK_REALTIME clock). + + struct kvm_clock_offset { + __s64 sec; + __s64 nsec;Why is nsec:
1) signed -- it is a remainder after division byNSEC_PER_SEC
Because "struct timespec" is signed because it can be used for time deltas (you won't actually get signed values for kvm_get_walltime_and_clockread).
Just wanted to match "struct timespec".
Quoted 2 lines
2) bigger than 32 bit --
NSEC_PER_SEC< 2^32
?
Again matching struct timespec.
Quoted 11 lines
Documentation/virtual/kvm/hypercalls.txt line 109
Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt +8
-0+ __u64 tsc; + __u32 flags; + __u32 pad; + }; + + Where: + * sec: seconds from clock_type clock. + * nsec: nanoseconds from clock_type clock.The important part of an offset is the starting point -- I assume it is the the usual one, but documentation better be explicit.
Don't get what you mean? (the values have same meaning as hosts clock_gettime(CLOCK_REALTIME), supposedly that is clear).
Quoted 4 lines
Documentation/virtual/kvm/hypercalls.txt line 110
Quoted 1 line
Documentation/virtual/kvm/hypercalls.txt +1
-0+ * tsc: TSC value used to calculate sec/nsec pairThis hypercall could in theory work even when computing the offset with a different clocksource on the host and the estimating TSC at that time.
Yes it could.
Quoted 3 lines
Documentation/virtual/kvm/hypercalls.txt line 111
Quoted 1 line
Documentation/virtual/kvm/hypercalls.txt +1
-0+ (this hypercall only works when host uses TSC clocksource).Describe that error as a return value.
Fixed.
+
+ if (kvm_get_walltime_and_clockread(&ts, &cycle) == false) {
+ kfree(clock_offset);
+ return -KVM_EOPNOTSUPP;
+ }
Quoted 4 lines
Documentation/virtual/kvm/hypercalls.txt line 112
Quoted 2 lines
Documentation/virtual/kvm/hypercalls.txt +1
-0+ * flags: flags, unused at the moment.unused = 0.
Fixed.
Quoted 18 lines
Quoted 18 lines
Documentation/virtual/kvm/hypercalls.txt +1
-0+Index:
kvm-ptpdriver/arch/x86/kvm/x86.c
===================================================================arch/x86/kvm/x86.c +9
-0@@ -6121,6 +6121,44 @@ }EXPORT_SYMBOL_GPL (kvm_emulate_halt); +static int kvm_pv_clock_offset (struct kvm_vcpu *vcpu,gpa_t paddr, +unsigned long clock_type) +{ +struct kvm_clock_offset *clock_offset; +struct timespec ts; +cycle_t cycle; +int ret; + +if (clock_type !=KVM_CLOCK_OFFSET_WALLCLOCK )
Quoted 8 lines
arch/x86/kvm/x86.c line 6138
Quoted 6 lines
arch/x86/kvm/x86.c +6
-0+return -KVM_EOPNOTSUPP ; + +if (pvclock_gtod_data.clock.vclock_mode !=VCLOCK_TSC ) +return -KVM_EOPNOTSUPP ; + + clock_offset =kzalloc (sizeof (struct kvm_clock_offset ),GFP_KERNEL );Can't
clock_offsetbe on the stack?
Well since the kernel stack is limited, thought it would be safer to allocate it.
Quoted 59 lines
Quoted 59 lines
arch/x86/kvm/x86.c +26
-0+if (clock_offset ==NULL ) +return -KVM_ENOMEM ; + +if (kvm_get_walltime_and_clockread (&ts, &cycle) == false) { +kfree (clock_offset); +return -KVM_EOPNOTSUPP ; + } + + clock_offset->sec = ts.tv_sec; + clock_offset->nsec = ts.tv_nsec; + clock_offset->tsc =kvm_read_l1_tsc (vcpu, cycle); + clock_offset->flags =0 ; + + ret =0 ; +if (kvm_write_guest (vcpu->kvm, paddr, clock_offset, +sizeof (struct kvm_clock_offset ))) + ret = -KVM_EFAULT ; + +kfree (clock_offset); + +return ret; +} +/* * kvm_pv_kick_cpu_op: Kick a vcpu. * @@ -6185,6 +6223,9 @@kvm_pv_kick_cpu_op (vcpu->kvm, a0, a1); ret =0 ;break ; +case KVM_HC_CLOCK_OFFSET : + ret =kvm_pv_clock_offset (vcpu, a0, a1); +break ;default : ret = -KVM_ENOSYS ;break ;Index:
kvm-ptpdriver/include/uapi/linux/kvm_para.h
===================================================================include/uapi/linux/kvm_para.h +3
-0@@ -14,6 +14,8 @@#define KVM_EFAULT EFAULT#define KVM_E2BIG E2BIG#define KVM_EPERM EPERM +#define KVM_EOPNOTSUPP EOPNOTSUPP +#define KVM_ENOMEM ENOMEM#define KVM_HC_VAPIC_POLL_IRQ 1#define KVM_HC_MMU_OP 2@@ -23,6 +25,7 @@#define KVM_HC_MIPS_GET_CLOCK_FREQ 6#define KVM_HC_MIPS_EXIT_VM 7#define KVM_HC_MIPS_CONSOLE_OUTPUT 8 +#define KVM_HC_CLOCK_OFFSET 9/* * hypercalls use architecture specific
Re: [patch 2/3] KVM: x86: add KVM_HC_CLOCK_OFFSET hypercall
2017-01-13 13:43-0200, Marcelo Tosatti:
Quoted 37 lines · Radim Krcmar
Quoted 23 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 22 lines
Add a hypercall to retrieve the host realtime clock and the TSC value used to calculate that clock read.
Used to implement clock synchronization between
host and guest.Signed-off-by Marcelo Tosatti <[email protected]>---
Index:kvm-ptpdriver/Documentation/virtual/kvm/hypercalls.txtDocumentation/virtual/kvm/hypercalls.txt +11
-0@@ -81,3 +81,33 @@ +6. KVM_HC_CLOCK_OFFSET +------------------------ +Architecture: x86 +Status: active +Purpose: Hypercall used to synchronize host and guest clocks. +Usage: + +a0: guest physical address where host copies +"struct kvm_clock_offset" structure. + +a1: clock_type, ATM only KVM_CLOCK_OFFSET_WALLCLOCK (0)Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt line 101
Quoted 5 lines
Documentation/virtual/kvm/hypercalls.txt +5
-0+is supported (hosts CLOCK_REALTIME clock). + + struct kvm_clock_offset { + __s64 sec; + __s64 nsec;Why is nsec:
1) signed -- it is a remainder after division byNSEC_PER_SECBecause "struct timespec" is signed because it can be used for time deltas (you won't actually get signed values for
kvm_get_walltime_and_clockread).
Quoted 6 lines
Just wanted to match "struct timespec".
Quoted 2 lines
2) bigger than 32 bit --
NSEC_PER_SEC< 2^32
?Again matching struct timespec.
It is "long" in struct timespec, which could also be "s32" ... I'd rather waste those 8 bytes inside padding -- its purpose is clear there. :)
Quoted 12 lines
Quoted 11 lines
Documentation/virtual/kvm/hypercalls.txt line 109
Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt +8
-0+ __u64 tsc; + __u32 flags; + __u32 pad; + }; + + Where: + * sec: seconds from clock_type clock. + * nsec: nanoseconds from clock_type clock.The important part of an offset is the starting point -- I assume it is the the usual one, but documentation better be explicit.
Quoted 2 lines
Don't get what you mean? (the values have same meaning as hosts
clock_gettime(CLOCK_REALTIME), supposedly that is clear).
Ah, I didn't understand that clock_type was refering to CLOCK_REALTIME.
I'd drop offset from the hypercall name. IIUC, all various clock types would be compared to TSC, so we could name the hypercall somewhat like KVM_HC_CLOCK_AT_TSC -- we want to know what was the time on the selected clock when TSC was at value __u64 tsc.
The only offset is between sec+nsec and the beginning of time (and tsc and 0), but we don't care about that offset by itself -- we care about relation of sec+nsec to tsc, which isn't a simple offset as they flow differently.
If we wanted to be more generic, then KVM_HC_CLOCK_PAIRING/SNAPSHOT/... and argument 1 would contain clock_types, here REALTIME and TSC.
Re: [patch 2/3] KVM: x86: add KVM_HC_CLOCK_OFFSET hypercall
Quoted 38 lines · Radim Krcmar
2017-01-13 13:43-0200, Marcelo Tosatti:
Quoted 37 lines · Radim Krcmar
Quoted 23 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 22 lines
Add a hypercall to retrieve the host realtime clock and the TSC value used to calculate that clock read.
Used to implement clock synchronization between
host and guest.Signed-off-by Marcelo Tosatti <[email protected]>---
Index:kvm-ptpdriver/Documentation/virtual/kvm/hypercalls.txtDocumentation/virtual/kvm/hypercalls.txt +11
-0@@ -81,3 +81,33 @@ +6. KVM_HC_CLOCK_OFFSET +------------------------ +Architecture: x86 +Status: active +Purpose: Hypercall used to synchronize host and guest clocks. +Usage: + +a0: guest physical address where host copies +"struct kvm_clock_offset" structure. + +a1: clock_type, ATM only KVM_CLOCK_OFFSET_WALLCLOCK (0)Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt line 101
Quoted 5 lines
Documentation/virtual/kvm/hypercalls.txt +5
-0+is supported (hosts CLOCK_REALTIME clock). + + struct kvm_clock_offset { + __s64 sec; + __s64 nsec;Why is nsec:
1) signed -- it is a remainder after division byNSEC_PER_SECBecause "struct timespec" is signed because it can be used for time deltas (you won't actually get signed values for
kvm_get_walltime_and_clockread).
Quoted 8 lines
Quoted 6 lines
Just wanted to match "struct timespec".
Quoted 2 lines
2) bigger than 32 bit --
NSEC_PER_SEC< 2^32
?Again matching struct timespec.
It is "long" in struct timespec, which could also be "s32" ...
Which fits in a s64.
Quoted 2 lines
I'd rather waste those 8 bytes inside padding -- its purpose is clear there. :)
The purpose of the s64 is to match timespec.
Quoted 15 lines
Quoted 12 lines
Quoted 11 lines
Documentation/virtual/kvm/hypercalls.txt line 109
Quoted 8 lines
Documentation/virtual/kvm/hypercalls.txt +8
-0+ __u64 tsc; + __u32 flags; + __u32 pad; + }; + + Where: + * sec: seconds from clock_type clock. + * nsec: nanoseconds from clock_type clock.The important part of an offset is the starting point -- I assume it is the the usual one, but documentation better be explicit.
Quoted 2 lines
Don't get what you mean? (the values have same meaning as hosts
clock_gettime(CLOCK_REALTIME), supposedly that is clear).
Quoted 6 lines
Ah, I didn't understand that
clock_typewas refering toCLOCK_REALTIME.I'd drop offset from the hypercall name. IIUC, all various clock types would be compared to TSC, so we could name the hypercall somewhat like
KVM_HC_CLOCK_AT_TSC-- we want to know what was the time on the selected clock when TSC was at value__u64tsc.
Well its the offset from TSC, so thats why "offset" in the name.
And as you say, the interface could be extended to support other clocks (using the available data in pad, i'll make it larger BTW).
Which would render the "TSC" from the hypercall name invalid.
Quoted 7 lines
The only offset is between sec+nsec and the beginning of time (and tsc and 0), but we don't care about that offset by itself -- we care about relation of sec+nsec to tsc, which isn't a simple offset as they flow differently.
If we wanted to be more generic, then KVM_HC_CLOCK_PAIRING/SNAPSHOT/... and argument 1 would contain
clock_types, here REALTIME and TSC.
Pairing is fine, changed.
PATCH 3/3 PTP: add kvm PTP driver
In reply to Marcelo TosattiAdd a driver with gettime method returning hosts realtime clock. This allows Chrony to synchronize host and guest clocks with high precision (see results below).
chronyc> sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0 0 3 377 6 +4ns[ +4ns] +/- 3ns
To configure Chronyd to use PHC refclock, add the
following line to its configuration file:
refclock PHC /dev/ptpX poll 3 dpoll -2 offset 0
Where /dev/ptpX is the kvmclock PTP clock.
--- drivers/ptp/Kconfig | 12 +++ drivers/ptp/Makefile | 1 drivers/ptp/ptp_kvm.c | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 193 insertions(+)
drivers/ptp/Kconfig +12 -0
@@ -90,4 +90,16 @@ To compile this driver as a module, choose M here: the module will be called ptp_pch. +config PTP_1588_CLOCK_KVM + tristate "KVM virtual PTP clock" + depends on PTP_1588_CLOCK + depends on KVM_GUEST + default y + help + This driver adds support for using kvm infrastructure as a PTP + clock. This clock is only useful if you are using KVM guests. + + To compile this driver as a module, choose M here: the module + will be called ptp_kvm. + endmenu
drivers/ptp/ptp_kvm.c new file +180 -0
180 lines not on this page · raw message
drivers/ptp/Makefile +1 -0
@@ -6,3 +6,4 @@ obj-$(CONFIG_PTP_1588_CLOCK) += ptp.o obj-$(CONFIG_PTP_1588_CLOCK_IXP46X) += ptp_ixp46x.o obj-$(CONFIG_PTP_1588_CLOCK_PCH) += ptp_pch.o +obj-$(CONFIG_PTP_1588_CLOCK_KVM) += ptp_kvm.o
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 119 lines
Add a driver with gettime method returning hosts realtime clock. This allows Chrony to synchronize host and guest clocks with high precision (see results below).
chronyc> sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0 0 3 377 6 +4ns[ +4ns] +/- 3nsTo configure Chronyd to use PHC refclock, add the
following line to its configuration file:refclock PHC
/dev/ptpXpoll 3 dpoll -2 offset 0Where
/dev/ptpXis the kvmclock PTP clock.--- drivers/ptp/Kconfig | 12 +++ drivers/ptp/Makefile | 1 drivers/ptp/ptp_kvm.c | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 193 insertions(+)Index: kvm-ptpdriver/drivers/ptp/Kconfig
===================================================================drivers/ptp/Kconfig +12
-0@@ -90,4 +90,16 @@ To compile this driver as a module, choose M here: the module will be called ptp_pch. +config PTP_1588_CLOCK_KVM + tristate "KVM virtual PTP clock" + depends on PTP_1588_CLOCK + depends on KVM_GUEST + default y + help + This driver adds support for using kvm infrastructure as a PTP + clock. This clock is only useful if you are using KVM guests. + + To compile this driver as a module, choose M here: the module + will be called ptp_kvm. + endmenuIndex:
kvm-ptpdriver/drivers/ptp/ptp_kvm.c
===================================================================drivers/ptp/ptp_kvm.c new file +70
-0@@ -0,0 +1,180 @@ +/* +* Virtual PTP 1588 clock for use with KVM guests +* +* Copyright (C) 2017 Red Hat Inc. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +*/ +#include <linux/device.h> +#include <linux/err.h> +#include <linux/init.h> +#include <linux/kernel.h> +#include <linux/module.h> +#include <uapi/linux/kvm_para.h> +#include <asm/kvm_para.h> +#include <asm/pvclock.h> +#include <uapi/asm/kvm_para.h> + +#include <linux/ptp_clock_kernel.h> + +struct kvm_ptp_clock { +struct ptp_clock *ptp_clock; +struct ptp_clock_info caps; +}; + +DEFINE_SPINLOCK (kvm_ptp_lock); + +static struct pvclock_vsyscall_time_info *hv_clock; + +/* +* PTP clock operations +*/ + +static int ptp_kvm_adjfreq (struct ptp_clock_info *ptp,s32 ppb) +{ +return -EOPNOTSUPP ; +} + +static int ptp_kvm_adjtime (struct ptp_clock_info *ptp,s64 delta) +{ +return -EOPNOTSUPP ; +} + +static struct kvm_clock_offset clock_off; +static phys_addr_t clock_off_gpa; + +static int ptp_kvm_gettime (struct ptp_clock_info *ptp,struct timespec64 *ts) +{ +unsigned long ret; +struct timespec64 tspec; +u64 delta; +cycle_t offset; +unsigned version; +int cpu; +struct pvclock_vcpu_time_info *src; + +preempt_disable_notrace (); + cpu =smp_processor_id (); + src = &hv_clock[cpu].pvti; + +spin_lock (&kvm_ptp_lock); +
drivers/ptp/ptp_kvm.c line 80
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+ do { + /* + * We are measuring the delay between + * kvm_hypercall and rdtsc using TSC, + * and converting that delta to + * tsc_to_system_mul and tsc_shift + * So any changes to tsc_to_system_mul + * and tsc_shift in this region + * invalidate the measurement. + */
This assumes that the host uses kvmclock, but the guest can be using just TSC and even have kvmclock disabled. This code should at least check that kvmclock enabled.
(If we made kvmclock mandatory, then we could fix pvclock_wall_clock
interface, because it is already defined to provide real time based on kvmclock ...)
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +
drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));
But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
tsc + x, time + tsc_delta_to_time(x)
than just
tsc, time
?
Because we'll always be quering the time at tsc + y, where y >> x, and we'd likely have other problems if shifting the time base by few thousand cycles made a difference.
Quoted 37 lines
drivers/ptp/ptp_kvm.c new file +37
-0+ +return 0 ; +} + +static int ptp_kvm_settime (struct ptp_clock_info *ptp, +const struct timespec64 *ts) +{ +return -EOPNOTSUPP ; +} + +static int ptp_kvm_enable (struct ptp_clock_info *ptp, +struct ptp_clock_request *rq,int on) +{ +return -EOPNOTSUPP ; +} + +static struct ptp_clock_info ptp_kvm_caps = { + .owner =THIS_MODULE , + .name ="KVM virtual PTP" , + .max_adj =0 , + .n_ext_ts =0 , + .n_pins =0 , + .pps =0 , + .adjfreq = ptp_kvm_adjfreq, + .adjtime = ptp_kvm_adjtime, + .gettime64 = ptp_kvm_gettime, + .settime64 = ptp_kvm_settime, + .enable = ptp_kvm_enable, +}; + +/* module operations */ + +static struct kvm_ptp_clock kvm_ptp_clock; + +static void __exit ptp_kvm_exit(void) +{ +ptp_clock_unregister (kvm_ptp_clock.ptp_clock);
drivers/ptp/ptp_kvm.c line 163
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+} + +static int __init ptp_kvm_init (void ) +{ +if (!kvm_para_available ()) +return -ENODEV ; + + kvm_ptp_clock.caps = ptp_kvm_caps; + + kvm_ptp_clock.ptp_clock =ptp_clock_register (&kvm_ptp_clock.caps,NULL );
It is a shame that the infrastructure uses polling when the guest could be notified on every host real time change, but this should be good enough.
drivers/ptp/ptp_kvm.c line 170
Quoted 7 lines
drivers/ptp/ptp_kvm.c new file +7
-0+ +if (IS_ERR (kvm_ptp_clock.ptp_clock)) +return PTR_ERR (kvm_ptp_clock.ptp_clock); + + clock_off_gpa =slow_virt_to_phys (&clock_off); + + hv_clock =pvclock_pvti_cpu0_va ();
Would safer to assign required globals before the registration -- races could get ugly.
Thanks.
Quoted 21 lines
drivers/ptp/ptp_kvm.c new file +10
-0+ +return 0 ; +} + +module_init (ptp_kvm_init); +module_exit (ptp_kvm_exit); + +MODULE_AUTHOR ("Marcelo Tosatti <[email protected]>" ); +MODULE_DESCRIPTION ("PTP clock using KVMCLOCK" ); +MODULE_LICENSE ("GPL" );Index: kvm-ptpdriver/drivers/ptp/Makefile
===================================================================drivers/ptp/Makefile +1
-0@@ -6,3 +6,4 @@ obj-$(CONFIG_PTP_1588_CLOCK) += ptp.o obj-$(CONFIG_PTP_1588_CLOCK_IXP46X) += ptp_ixp46x.o obj-$(CONFIG_PTP_1588_CLOCK_PCH) += ptp_pch.o +obj-$(CONFIG_PTP_1588_CLOCK_KVM) += ptp_kvm.o
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 126 lines · Radim Krcmar
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 125 lines
Add a driver with gettime method returning hosts realtime clock. This allows Chrony to synchronize host and guest clocks with high precision (see results below).
chronyc> sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0 0 3 377 6 +4ns[ +4ns] +/- 3nsTo configure Chronyd to use PHC refclock, add the
following line to its configuration file:refclock PHC
/dev/ptpXpoll 3 dpoll -2 offset 0Where
/dev/ptpXis the kvmclock PTP clock.--- drivers/ptp/Kconfig | 12 +++ drivers/ptp/Makefile | 1 drivers/ptp/ptp_kvm.c | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 193 insertions(+)Index: kvm-ptpdriver/drivers/ptp/Kconfig
===================================================================drivers/ptp/Kconfig +12
-0@@ -90,4 +90,16 @@ To compile this driver as a module, choose M here: the module will be called ptp_pch. +config PTP_1588_CLOCK_KVM + tristate "KVM virtual PTP clock" + depends on PTP_1588_CLOCK + depends on KVM_GUEST + default y + help + This driver adds support for using kvm infrastructure as a PTP + clock. This clock is only useful if you are using KVM guests. + + To compile this driver as a module, choose M here: the module + will be called ptp_kvm. + endmenuIndex:
kvm-ptpdriver/drivers/ptp/ptp_kvm.c
===================================================================drivers/ptp/ptp_kvm.c new file +76
-0@@ -0,0 +1,180 @@ +/* +* Virtual PTP 1588 clock for use with KVM guests +* +* Copyright (C) 2017 Red Hat Inc. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +*/ +#include <linux/device.h> +#include <linux/err.h> +#include <linux/init.h> +#include <linux/kernel.h> +#include <linux/module.h> +#include <uapi/linux/kvm_para.h> +#include <asm/kvm_para.h> +#include <asm/pvclock.h> +#include <uapi/asm/kvm_para.h> + +#include <linux/ptp_clock_kernel.h> + +struct kvm_ptp_clock { +struct ptp_clock *ptp_clock; +struct ptp_clock_info caps; +}; + +DEFINE_SPINLOCK (kvm_ptp_lock); + +static struct pvclock_vsyscall_time_info *hv_clock; + +/* +* PTP clock operations +*/ + +static int ptp_kvm_adjfreq (struct ptp_clock_info *ptp,s32 ppb) +{ +return -EOPNOTSUPP ; +} + +static int ptp_kvm_adjtime (struct ptp_clock_info *ptp,s64 delta) +{ +return -EOPNOTSUPP ; +} + +static struct kvm_clock_offset clock_off; +static phys_addr_t clock_off_gpa; + +static int ptp_kvm_gettime (struct ptp_clock_info *ptp,struct timespec64 *ts) +{ +unsigned long ret; +struct timespec64 tspec; +u64 delta; +cycle_t offset; +unsigned version; +int cpu; +struct pvclock_vcpu_time_info *src; + +preempt_disable_notrace (); + cpu =smp_processor_id (); + src = &hv_clock[cpu].pvti; + +spin_lock (&kvm_ptp_lock); + + do { + /* + * We are measuring the delay between + * kvm_hypercall and rdtsc using TSC, + * and converting that delta to + * tsc_to_system_mul and tsc_shift
Quoted 8 lines
drivers/ptp/ptp_kvm.c line 80
Quoted 4 lines
drivers/ptp/ptp_kvm.c new file +4
-0+* So any changes to tsc_to_system_mul +* and tsc_shift in this region +* invalidate the measurement. +*/ This assumes that the host uses kvmclock, but the guest can be using just TSC and even have kvmclock disabled. This code should at least check that kvmclock enabled.
Fixed.
Quoted 44 lines
(If we made kvmclock mandatory, then we could fix
pvclock_wall_clock
interface, because it is already defined to provide real time based on kvmclock ...)Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of ptp_kvm_gettime.
We do:
1. kvm_hypercall.
2. get {sec, nsec, guest_tsc}.
3. kvm_hypercall returns.
4. delay = rdtsc() - guest_tsc.
Where delay is the delta (measured with the TSC) between points 2 and 4.
Quoted 3 lines
Because we'll always be quering the time at tsc + y, where y >> x, and we'd likely have other problems if shifting the time base by few thousand cycles made a difference.
Radim, i didnt get your "tsc + x", "time + tsc_delta_to_time(x)" formulas above. Can you be more verbose please?
Quoted 43 lines
Quoted 43 lines
drivers/ptp/ptp_kvm.c new file +43
-0+ +return 0 ; +} + +static int ptp_kvm_settime (struct ptp_clock_info *ptp, +const struct timespec64 *ts) +{ +return -EOPNOTSUPP ; +} + +static int ptp_kvm_enable (struct ptp_clock_info *ptp, +struct ptp_clock_request *rq,int on) +{ +return -EOPNOTSUPP ; +} + +static struct ptp_clock_info ptp_kvm_caps = { + .owner =THIS_MODULE , + .name ="KVM virtual PTP" , + .max_adj =0 , + .n_ext_ts =0 , + .n_pins =0 , + .pps =0 , + .adjfreq = ptp_kvm_adjfreq, + .adjtime = ptp_kvm_adjtime, + .gettime64 = ptp_kvm_gettime, + .settime64 = ptp_kvm_settime, + .enable = ptp_kvm_enable, +}; + +/* module operations */ + +static struct kvm_ptp_clock kvm_ptp_clock; + +static void __exit ptp_kvm_exit(void) +{ +ptp_clock_unregister (kvm_ptp_clock.ptp_clock); +} + +static int __init ptp_kvm_init (void ) +{ +if (!kvm_para_available ()) +return -ENODEV ;
Quoted 8 lines
drivers/ptp/ptp_kvm.c line 163
Quoted 4 lines
drivers/ptp/ptp_kvm.c new file +4
-0+ + kvm_ptp_clock.caps = ptp_kvm_caps; + + kvm_ptp_clock.ptp_clock =ptp_clock_register (&kvm_ptp_clock.caps,NULL );It is a shame that the infrastructure uses polling when the guest could be notified on every host real time change, but this should be good enough.
Well, the whole NTP scheme is a feedback loop, so it wants to query the value of the clock at the moments the feedback loop logic decides it.
Quoted 9 lines
drivers/ptp/ptp_kvm.c line 170
Quoted 6 lines
drivers/ptp/ptp_kvm.c new file +6
-0+if (IS_ERR (kvm_ptp_clock.ptp_clock)) +return PTR_ERR (kvm_ptp_clock.ptp_clock); + + clock_off_gpa =slow_virt_to_phys (&clock_off); + + hv_clock =pvclock_pvti_cpu0_va ();Would safer to assign required globals before the registration -- races could get ugly.
Fixed, thanks.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 53 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.
Quoted 8 lines
We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
I see now ... the PTP interface is just not good for our purposes. We don't return {sec, nsec, guest_tsc}, we just return {sec, nsec} at some random time in the past. And to make it a bit more accurate, you add a best-effort delta before returning, which makes sense.
When we have to depend on pvclock, what are the advantages of not using the existing pvclock API for wall clock?
(You mentioned some extensions.)
struct pvclock_wall_clock {
u32 version;
u32 sec;
u32 nsec;
} __attribute__((__packed__));It gives the wall clock when pvclock was 0, so you just add current kvmclock and get the host wall clock. Without a VM exit.
And how often is ptp_kvm_gettime() usually called?
Thanks.
Quoted 6 lines
Quoted 3 lines
Because we'll always be quering the time at tsc + y, where y >> x, and we'd likely have other problems if shifting the time base by few thousand cycles made a difference.
Radim, i didnt get your "tsc + x", "time +
tsc_delta_to_time(x)" formulas above. Can you be more verbose please?
x is the delta, tsc_delta_to_time() is what pvclock_scale_delta() does.
I assumed that we set precise time with TSC, so the delta wouldn't matter, because PTP would either get {sec, nsec, guest_tsc}, or the same, but just shifted by delta, hence
{sec + tsc_delta_to_time(x) / NSEC_PER_SEC,
nsec + tsc_delta_to_time(x) % NSEC_PER_SEC,
guest_tsc + x}.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-16 17:26+0100, Radim Krcmar:
Quoted 56 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 55 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
Quoted 8 lines
Quoted 6 lines
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
I see now ... the PTP interface is just not good for our purposes.
There is getcrosststamp() callback in PTP, which seems to be exactly what we want when pairing with TSC, so the pvclock delay fixup can be dropped when using it.
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 62 lines · Radim Krcmar
2017-01-16 17:26+0100, Radim Krcmar:
Quoted 61 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 60 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
Where delay is the delta (measured with the TSC) between points 2 and 4.
I see now ... the PTP interface is just not good for our purposes.
There is
getcrosststamp()callback in PTP, which seems to be exactly what we want when pairing with TSC, so the pvclock delay fixup can be dropped when using it.
What pvclock delay fixup you refer to? The "rdtsc() - clock_offset.tsc" part? You can't drop it, because if you do then your "host realtime clock read" will be behind by "rdtsc() - clock_offset.tsc" TSC cycles. We want the highest precision as possible.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-16 15:08-0200, Marcelo Tosatti:
Quoted 65 lines · Radim Krcmar
Quoted 64 lines
2017-01-16 17:26+0100, Radim Krcmar:
Quoted 63 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 61 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
Quoted 8 lines
Quoted 5 lines
Quoted 1 line
I see now ... the PTP interface is just not good for our purposes.
There is
getcrosststamp()callback in PTP, which seems to be exactly what we want when pairing with TSC, so the pvclock delay fixup can be dropped when using it.What pvclock delay fixup you refer to? The "
rdtsc()- clock_offset.tsc" part?
Yes.
Quoted 2 lines
You can't drop it, because if you do then your "host realtime
clock read" will be behind by "rdtsc()- clock_offset.tsc" TSC cycles.
The TSC read will be some cycles old when the hypercall ends, but that doesn't matter, because we will pass {sec, nsec, guest_tsc} to PTP and PTP should plug them into kernel's realtime clock roughly like this:
sec/nsec + (rdtsc() - guest_tsc) * tsc_freq
Adding delay to guest_tsc and sec/nsec cannot improve precision. (And will likely degrade it as kvmclock's frequency is incorrect.)
Quoted 1 line
We want the highest precision as possible.
I agree, which is why we don't want to lose precision in the delay guesswork because of gettime64().
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 86 lines · Radim Krcmar
2017-01-16 15:08-0200, Marcelo Tosatti:
Quoted 65 lines · Radim Krcmar
Quoted 64 lines
2017-01-16 17:26+0100, Radim Krcmar:
Quoted 63 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 61 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
(quoted diff) +26
-0+ version = pvclock_read_begin(src); + + ret = kvm_hypercall2(KVM_HC_CLOCK_OFFSET, + clock_off_gpa, + KVM_CLOCK_OFFSET_WALLCLOCK); + if (ret != 0) { + pr_err("clock offset hypercall ret %lu\n", ret); + spin_unlock(&kvm_ptp_lock); + preempt_enable_notrace(); + return -EOPNOTSUPP; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta = rdtsc_ordered() - clock_off.tsc; + + offset = pvclock_scale_delta(delta, src->tsc_to_system_mul, + src->tsc_shift); + + } while (pvclock_read_retry(src, version)); + + preempt_enable_notrace(); + + tspec.tv_nsec = tspec.tv_nsec + offset; +Review
Quoted 10 lines
(quoted diff) +10
-0+ spin_unlock(&kvm_ptp_lock); + + if (tspec.tv_nsec >= NSEC_PER_SEC) { + u64 secs = tspec.tv_nsec; + + tspec.tv_nsec = do_div(secs, NSEC_PER_SEC); + tspec.tv_sec += secs; + } + + memcpy(ts, &tspec, sizeof(struct timespec64));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
Quoted 8 lines
Quoted 5 lines
Quoted 1 line
I see now ... the PTP interface is just not good for our purposes.
There is
getcrosststamp()callback in PTP, which seems to be exactly what we want when pairing with TSC, so the pvclock delay fixup can be dropped when using it.What pvclock delay fixup you refer to? The "
rdtsc()- clock_offset.tsc" part?Yes.
Quoted 2 lines
You can't drop it, because if you do then your "host realtime
clock read" will be behind by "rdtsc()- clock_offset.tsc" TSC cycles.The TSC read will be some cycles old when the hypercall ends, but that doesn't matter, because we will pass {sec, nsec,
guest_tsc} to PTP and PTP should plug them into kernel's realtime clock roughly like this:sec/nsec + (
rdtsc()-guest_tsc) *tsc_freq
Quoted 7 lines
Adding delay to
guest_tscand sec/nsec cannot improve precision. (And will likely degrade it as kvmclock's frequency is incorrect.)Quoted 1 line
We want the highest precision as possible.
I agree, which is why we don't want to lose precision in the delay guesswork because of
gettime64().
Sorry the clock difference is 10ns now. So the guest clock is off by _10 ns_ of the host clock.
You are suggesting to use getcrosststamp instead, to drop the (rdtsc() - guest_tsc) part ?
Please be more verbose.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-16 15:39-0200, Marcelo Tosatti:
Quoted 90 lines · Radim Krcmar
Quoted 89 lines
2017-01-16 15:08-0200, Marcelo Tosatti:
Quoted 65 lines · Radim Krcmar
Quoted 64 lines
2017-01-16 17:26+0100, Radim Krcmar:
Quoted 63 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 61 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
(quoted diff) +26
-0+ version = pvclock_read_begin(src); + + ret = kvm_hypercall2(KVM_HC_CLOCK_OFFSET, + clock_off_gpa, + KVM_CLOCK_OFFSET_WALLCLOCK); + if (ret != 0) { + pr_err("clock offset hypercall ret %lu\n", ret); + spin_unlock(&kvm_ptp_lock); + preempt_enable_notrace(); + return -EOPNOTSUPP; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta = rdtsc_ordered() - clock_off.tsc; + + offset = pvclock_scale_delta(delta, src->tsc_to_system_mul, + src->tsc_shift); + + } while (pvclock_read_retry(src, version)); + + preempt_enable_notrace(); + + tspec.tv_nsec = tspec.tv_nsec + offset; +Review
Quoted 10 lines
(quoted diff) +10
-0+ spin_unlock(&kvm_ptp_lock); + + if (tspec.tv_nsec >= NSEC_PER_SEC) { + u64 secs = tspec.tv_nsec; + + tspec.tv_nsec = do_div(secs, NSEC_PER_SEC); + tspec.tv_sec += secs; + } + + memcpy(ts, &tspec, sizeof(struct timespec64));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
Quoted 8 lines
Quoted 5 lines
Quoted 1 line
I see now ... the PTP interface is just not good for our purposes.
There is
getcrosststamp()callback in PTP, which seems to be exactly what we want when pairing with TSC, so the pvclock delay fixup can be dropped when using it.What pvclock delay fixup you refer to? The "
rdtsc()- clock_offset.tsc" part?Yes.
Quoted 2 lines
You can't drop it, because if you do then your "host realtime
clock read" will be behind by "rdtsc()- clock_offset.tsc" TSC cycles.The TSC read will be some cycles old when the hypercall ends, but that doesn't matter, because we will pass {sec, nsec,
guest_tsc} to PTP and PTP should plug them into kernel's realtime clock roughly like this:sec/nsec + (
rdtsc()-guest_tsc) *tsc_freqAdding delay to
guest_tscand sec/nsec cannot improve precision. (And will likely degrade it as kvmclock's frequency is incorrect.)
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
We want the highest precision as possible.
I agree, which is why we don't want to lose precision in the delay guesswork because of
gettime64().Sorry the clock difference is 10ns now. So the guest clock is off by _10
ns_of the host clock.
That is pretty good.
Quoted 2 lines
You are suggesting to use getcrosststamp instead, to drop the (
rdtsc()-guest_tsc) part ?
Yes, it results in simpler code, doesn't create dependency on the dreaded kvmclock, and is the best we can currently do wrt. precision.
Thanks.
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 4 lines · Radim Krcmar
Quoted 2 lines
Sorry the clock difference is 10ns now. So the guest clock is off by _10
ns_of the host clock.That is pretty good.
Yes.
Quoted 5 lines
Quoted 2 lines
You are suggesting to use getcrosststamp instead, to drop the (
rdtsc()-guest_tsc) part ?Yes, it results in simpler code, doesn't create dependency on the dreaded kvmclock, and is the best we can currently do wrt. precision.
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Is that correct?
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 13 lines · Marcelo Tosatti
Quoted 4 lines · Radim Krcmar
Quoted 2 lines
Sorry the clock difference is 10ns now. So the guest clock is off by _10
ns_of the host clock.That is pretty good.
Yes.
Quoted 5 lines
Quoted 2 lines
You are suggesting to use getcrosststamp instead, to drop the (
rdtsc()-guest_tsc) part ?Yes, it results in simpler code, doesn't create dependency on the dreaded kvmclock, and is the best we can currently do wrt. precision.
Even if the PHC sync algorithm manages to detect that the clock read is incorrect, consider the following:
Variability in the VM-entry code path, such as cache effects and interrupts would cause certain readings to be longer then the average (assuming an average
where cache is hot).
Using the TSC removes this variability, which can be large in case of non realtime guests, where you do:
1. kvm_hypercall.
2. read host realtime clock.
3. schedule out qemu-kvm vcpu.
4. schedule in qemu-kvm vcpu.
So using the delta between read host realtime and ->gettime64 increases precision and decreases variability.
Quoted 10 lines
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Is that correct?
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 25 lines · Marcelo Tosatti
Quoted 13 lines · Marcelo Tosatti
Quoted 4 lines · Radim Krcmar
Quoted 2 lines
Sorry the clock difference is 10ns now. So the guest clock is off by _10
ns_of the host clock.That is pretty good.
Yes.
Quoted 5 lines
Quoted 2 lines
You are suggesting to use getcrosststamp instead, to drop the (
rdtsc()-guest_tsc) part ?Yes, it results in simpler code, doesn't create dependency on the dreaded kvmclock, and is the best we can currently do wrt. precision.
Even if the PHC sync algorithm manages to detect that the clock read is incorrect, consider the following:
Variability in the VM-entry code path, such as cache effects and interrupts would cause certain readings to be longer then the average (assuming an average
where cache is hot).Using the TSC removes this variability, which can be large in case of non realtime guests, where you do:
Quoted 17 lines
1.
kvm_hypercall.
2. read host realtime clock.
3. schedule out qemu-kvm vcpu.
4. schedule in qemu-kvm vcpu.So using the delta between read host realtime and ->gettime64 increases precision and decreases variability.
Quoted 9 lines
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Is that correct?
Drop the offset correction and the following happens:
Clock offset seems to vary between negative hundreds of ns:
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0 0 3 377 11 -131ns[ -309ns] +/-
3ns
And positive:
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* PHC0 0 3 377 4 +79ns[ +155ns] +/-
3ns
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 11 lines · Marcelo Tosatti
Quoted 10 lines · Marcelo Tosatti
Quoted 9 lines · Marcelo Tosatti
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Is that correct?
Probably. It depends on the error of both host and guest timestamps. If the error is the same on both sides, it will cancel out. An occasional spike in the delay shouldn't be a problem as the reading will be filtered out, but for best accuracy it's necessary that the host's timestamp is taken in the middle between the guest's timestamps.
Users of the PTP_SYS_OFFSET ioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.
ts[1] ts[3]
Host time ---------+---------+........
| |
| |
Guest time ----+---------+---------+......
ts[0] ts[2] ts[4]Signature · 1 line
Miroslav Lichvar
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 11 lines · Miroslav Lichvar
Quoted 10 lines · Marcelo Tosatti
Quoted 9 lines · Marcelo Tosatti
Quoted 8 lines · Marcelo Tosatti
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Is that correct?
Probably. It depends on the error of both host and guest timestamps. If the error is the same on both sides, it will cancel out. An occasional spike in the delay shouldn't be a problem as the reading will be filtered out, but for best accuracy it's necessary that the host's timestamp is taken in the middle between the guest's timestamps.
The problem is that spikes can be far from occasional: it depends on activity of the host CPU and interrupts. Whose delay can be "intermittent": as long as interrupts are being sent to the host CPU, for example, the delay will be high (which can last minutes).
The TSC reading in the guest KVM PTP driver corrects for that delay.
Quoted 12 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Signature · 1 line
Miroslav Lichvar
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 21 lines · Miroslav Lichvar
Quoted 11 lines · Marcelo Tosatti
Quoted 10 lines · Marcelo Tosatti
Quoted 9 lines · Marcelo Tosatti
Quoted 8 lines
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Is that correct?
Probably. It depends on the error of both host and guest timestamps. If the error is the same on both sides, it will cancel out. An occasional spike in the delay shouldn't be a problem as the reading will be filtered out, but for best accuracy it's necessary that the host's timestamp is taken in the middle between the guest's timestamps.
Quoted 16 lines
The problem is that spikes can be far from occasional: it depends on activity of the host CPU and interrupts. Whose delay can be "intermittent": as long as interrupts are being sent to the host CPU, for example, the delay will be high (which can last minutes).
The TSC reading in the guest KVM PTP driver corrects for that delay.
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]
KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3]
Host time -------------+---------+........
| |
| |
Guest time ----+---------+---------+......
ts[0] ts[2] ts[4]which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
I'm wondering why is the PTP precision around 10ns, when the hypercall takes around 2-3k cycles. Have you measured the guest<->host offset by getting the output of the hypercall, i.e.
{host_sec @ tsc, host_nsec @ tsc, tsc}
and comparing it with guest time computed from the same tsc, i.e.
{guest_sec @ tsc, guest_nsec @ tsc}
?
Thanks.
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 60 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 21 lines · Miroslav Lichvar
Quoted 11 lines · Marcelo Tosatti
Quoted 10 lines · Marcelo Tosatti
Quoted 9 lines · Marcelo Tosatti
Quoted 8 lines
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Is that correct?
Probably. It depends on the error of both host and guest timestamps. If the error is the same on both sides, it will cancel out. An occasional spike in the delay shouldn't be a problem as the reading will be filtered out, but for best accuracy it's necessary that the host's timestamp is taken in the middle between the guest's timestamps.
Quoted 16 lines
The problem is that spikes can be far from occasional: it depends on activity of the host CPU and interrupts. Whose delay can be "intermittent": as long as interrupts are being sent to the host CPU, for example, the delay will be high (which can last minutes).
The TSC reading in the guest KVM PTP driver corrects for that delay.
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
I'm wondering why is the PTP precision around 10ns, when the hypercall takes around 2-3k cycles. Have you measured the guest<->host offset by getting the output of the hypercall, i.e.
{host_sec@ tsc,host_nsec@ tsc, tsc}
and comparing it with guest time computed from the same tsc, i.e.
{guest_sec@ tsc,guest_nsec@ tsc}
?
Quoted 1 line
Thanks.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================
#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61ns
With TSC delta calculation:
============================
#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111ns
Do you still want to drop it in favour of simplicity?
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 128 lines · Marcelo Tosatti
Quoted 60 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 21 lines · Miroslav Lichvar
Quoted 11 lines · Marcelo Tosatti
Quoted 10 lines · Marcelo Tosatti
Quoted 9 lines · Marcelo Tosatti
Quoted 8 lines
Sorry, unless i am misunderstanding how this works, it'll get the guest clock 2us behind, which is something not wanted.
Miroslav, if ->gettime64 returns the host realtime at 2us in the past, this means Chrony will sync the guest clock to
host realtime - 2us
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Is that correct?
Probably. It depends on the error of both host and guest timestamps. If the error is the same on both sides, it will cancel out. An occasional spike in the delay shouldn't be a problem as the reading will be filtered out, but for best accuracy it's necessary that the host's timestamp is taken in the middle between the guest's timestamps.
Quoted 16 lines
The problem is that spikes can be far from occasional: it depends on activity of the host CPU and interrupts. Whose delay can be "intermittent": as long as interrupts are being sent to the host CPU, for example, the delay will be high (which can last minutes).
The TSC reading in the guest KVM PTP driver corrects for that delay.
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
I'm wondering why is the PTP precision around 10ns, when the hypercall takes around 2-3k cycles. Have you measured the guest<->host offset by getting the output of the hypercall, i.e.
{host_sec@ tsc,host_nsec@ tsc, tsc}
and comparing it with guest time computed from the same tsc, i.e.
{guest_sec@ tsc,guest_nsec@ tsc}
?Quoted 1 line
Thanks.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111ns
Quoted 2 lines
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
Paolo Bonzini
maintainerRe: [patch 3/3] PTP: add kvm PTP driver
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111ns
Quoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use PTP_SYS_OFFSET_PRECISE instead, but unfortunately chrony does not support it---but I would still prefer you to support PTP_SYS_OFFSET_PRECISE as well.
Paolo
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 4 lines · Paolo Bonzini
Quoted 2 lines · Marcelo Tosatti
Quoted 2 lines
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Do you still want to drop it in favour of simplicity?
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.
Interesting. I wasn't aware that there is a new ioctl for measuring the HW-sys offset. Adding support to chrony shouldn't be difficult.
If I understand it correctly, PTP_SYS_OFFSET can be emulated on top of PTP_SYS_OFFSET_PRECISE simply by copying the sys_realtime and device fields to corresponding ts slots. The apparent delay will be zero, but that's ok if the conversion is really accurate.
I'm not sure if trying to do that in the opposite direction is a good idea. An application using PTP_SYS_OFFSET_PRECISE may assume the conversion is accurate and not include any delay/dispersion in an estimate of the maximum error, which is needed in NTP for instance.
If we know the host timestamp ts[1] is not in the middle between the guests timestamps ts[0] and ts[2], but rather closer to ts[2], why not simply shift ts[1] by (ts[2]-ts[0])/2 ?
Signature · 1 line
Miroslav Lichvar
Paolo Bonzini
maintainerRe: [patch 3/3] PTP: add kvm PTP driver
Quoted 14 lines · Miroslav Lichvar
Quoted 4 lines · Paolo Bonzini
Quoted 2 lines · Marcelo Tosatti
Quoted 2 lines
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Do you still want to drop it in favour of simplicity?
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.
Quoted 7 lines
Interesting. I wasn't aware that there is a new ioctl for measuring the HW-sys offset. Adding support to chrony shouldn't be difficult.
If I understand it correctly,
PTP_SYS_OFFSETcan be emulated on top ofPTP_SYS_OFFSET_PRECISEsimply by copying thesys_realtimeand device fields to corresponding ts slots. The apparent delay will be zero, but that's ok if the conversion is really accurate.
Yes, for 1 sample only. Otherwise you'd have the same issue as in Marcelo's driver (the device aka guest timestamp from PTP_SYS_OFFSET_PRECISE would not be halfway between the system aka host timestamps), and your idea below could be applied.
Quoted 8 lines
I'm not sure if trying to do that in the opposite direction is a good idea. An application using
PTP_SYS_OFFSET_PRECISEmay assume the conversion is accurate and not include any delay/dispersion in an estimate of the maximum error, which is needed in NTP for instance.If we know the host timestamp ts[1] is not in the middle between the guests timestamps ts[0] and ts[2], but rather closer to ts[2], why not simply shift ts[1] by (ts[2]-ts[0])/2 ?
Interesting idea! For this to work, KVM needs to implement getcrosstimestamp and ptp_chardev.c can then add an alternative implementation of PTP_SYS_OFFSET, based on precise cross timestamps.
Something like
for (i = 0; i <= sysoff->n_samples; i++) {
// ... call getcrosststamp ...
sysns = ktime_to_ns(xtstamp.sys_realtime);
if (i > 0) {
devns = ktime_to_ns(xtstamp.device);
devns -= (sysns - prev_sysns) / 2;
devts = ns_to_timespec(devns);
pct->sec = devts.tv_sec;
pct->nsec = devts.tv_nsec;
pct++;
}
systs = ns_to_timespec(sysns);
pct->sec = ts.tv_sec;
pct->nsec = ts.tv_nsec;
pct++;
prev_sysns = sysns;
}Marcelo, can you give it a try?
Thanks,
Paolo
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 66 lines · Paolo Bonzini
Quoted 14 lines · Miroslav Lichvar
Quoted 4 lines · Paolo Bonzini
Quoted 2 lines · Marcelo Tosatti
Quoted 2 lines
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Do you still want to drop it in favour of simplicity?
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.Quoted 7 lines
Interesting. I wasn't aware that there is a new ioctl for measuring the HW-sys offset. Adding support to chrony shouldn't be difficult.
If I understand it correctly,
PTP_SYS_OFFSETcan be emulated on top ofPTP_SYS_OFFSET_PRECISEsimply by copying thesys_realtimeand device fields to corresponding ts slots. The apparent delay will be zero, but that's ok if the conversion is really accurate.Yes, for 1 sample only. Otherwise you'd have the same issue as in Marcelo's driver (the device aka guest timestamp from
PTP_SYS_OFFSET_PRECISEwould not be halfway between the system aka host timestamps), and your idea below could be applied.Quoted 8 lines
I'm not sure if trying to do that in the opposite direction is a good idea. An application using
PTP_SYS_OFFSET_PRECISEmay assume the conversion is accurate and not include any delay/dispersion in an estimate of the maximum error, which is needed in NTP for instance.If we know the host timestamp ts[1] is not in the middle between the guests timestamps ts[0] and ts[2], but rather closer to ts[2], why not simply shift ts[1] by (ts[2]-ts[0])/2 ?
Interesting idea! For this to work, KVM needs to implement getcrosstimestamp and
ptp_chardev.ccan then add an alternative implementation ofPTP_SYS_OFFSET, based on precise cross timestamps.Something like
for (i = 0; i <= sysoff->n_samples; i++) { // ... call getcrosststamp ... sysns = ktime_to_ns(xtstamp.sys_realtime); if (i > 0) { devns = ktime_to_ns(xtstamp.device); devns -= (sysns - prev_sysns) / 2; devts = ns_to_timespec(devns); pct->sec = devts.tv_sec; pct->nsec = devts.tv_nsec; pct++; } systs = ns_to_timespec(sysns); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec; pct++; prev_sysns = sysns; }
Quoted 1 line
Marcelo, can you give it a try?
Can convert fine, but problem is the simultaneous read of host and guest clocks.
Quoted 3 lines
Thanks,
Paolo
It seems to me anything else other than using a single TSC read (for both host and guest clocks) is a poor PTP_SYS_OFFSET_PRECISE implementation (because it would claim to be similar to ART, where the timestamps are simultaneous), but not be.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-18 12:50-0200, Marcelo Tosatti:
Quoted 58 lines · Paolo Bonzini
Quoted 57 lines · Miroslav Lichvar
Quoted 14 lines · Paolo Bonzini
Quoted 12 lines · Marcelo Tosatti
Quoted 4 lines
Quoted 4 lines
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Do you still want to drop it in favour of simplicity?
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.Quoted 7 lines
Interesting. I wasn't aware that there is a new ioctl for measuring the HW-sys offset. Adding support to chrony shouldn't be difficult.
If I understand it correctly,
PTP_SYS_OFFSETcan be emulated on top ofPTP_SYS_OFFSET_PRECISEsimply by copying thesys_realtimeand device fields to corresponding ts slots. The apparent delay will be zero, but that's ok if the conversion is really accurate.Yes, for 1 sample only. Otherwise you'd have the same issue as in Marcelo's driver (the device aka guest timestamp from
PTP_SYS_OFFSET_PRECISEwould not be halfway between the system aka host timestamps), and your idea below could be applied.Quoted 8 lines
I'm not sure if trying to do that in the opposite direction is a good idea. An application using
PTP_SYS_OFFSET_PRECISEmay assume the conversion is accurate and not include any delay/dispersion in an estimate of the maximum error, which is needed in NTP for instance.If we know the host timestamp ts[1] is not in the middle between the guests timestamps ts[0] and ts[2], but rather closer to ts[2], why not simply shift ts[1] by (ts[2]-ts[0])/2 ?
Interesting idea! For this to work, KVM needs to implement getcrosstimestamp and
ptp_chardev.ccan then add an alternative implementation ofPTP_SYS_OFFSET, based on precise cross timestamps.Something like
for (i = 0; i <= sysoff->n_samples; i++) { // ... call getcrosststamp ... sysns = ktime_to_ns(xtstamp.sys_realtime); if (i > 0) { devns = ktime_to_ns(xtstamp.device); devns -= (sysns - prev_sysns) / 2; devts = ns_to_timespec(devns); pct->sec = devts.tv_sec; pct->nsec = devts.tv_nsec;
Quoted 8 lines
Quoted 8 lines
pct++; } systs = ns_to_timespec(sysns); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec; pct++; prev_sysns = sysns; }
Nice. PTP_SYS_OFFSET seems to be mandatory, so this hunk could be upstreamable as a fallback for PTP devices that have getcrosststamp and not gettime64. KVM PTP would be the only driver using it so far.
Quoted 5 lines
Quoted 1 line
Marcelo, can you give it a try?
Can convert fine, but problem is the simultaneous read of host and guest clocks.
Quoted 8 lines
Quoted 3 lines
Thanks,
Paolo
It seems to me anything else other than using a single TSC read (for both host and guest clocks) is a poor
PTP_SYS_OFFSET_PRECISEimplementation (because it would claim to be similar to ART, where the timestamps are simultaneous), but not be.
Yes, the guest should use the TSC returned by the hypercall to compute the corresponding guest time, which will allow us to know the host<->guest offset.
Is this impossible to do with the current API?
Thanks.
Paolo Bonzini
maintainerRe: [patch 3/3] PTP: add kvm PTP driver
In reply to Marcelo TosattiQuoted 24 lines · Marcelo Tosatti
Quoted 24 lines
Interesting idea! For this to work, KVM needs to implement getcrosstimestamp and
ptp_chardev.ccan then add an alternative implementation ofPTP_SYS_OFFSET, based on precise cross timestamps.Something like
for (i = 0; i <= sysoff->n_samples; i++) { // ... call getcrosststamp ... sysns = ktime_to_ns(xtstamp.sys_realtime); if (i > 0) { devns = ktime_to_ns(xtstamp.device); devns -= (sysns - prev_sysns) / 2; devts = ns_to_timespec(devns); pct->sec = devts.tv_sec; pct->nsec = devts.tv_nsec; pct++; } systs = ns_to_timespec(sysns); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec; pct++; prev_sysns = sysns; }
Quoted 4 lines
Quoted 1 line
Marcelo, can you give it a try?
Can convert fine, but problem is the simultaneous read of host and guest clocks.
Could the TSC from the hypercall be applied to kvmclock to do this? My understanding is that get_device_system_crosststamp (which is used in the sole in-tree implementation of getcrosststamp) already contains all the logic to do that.
Paolo
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 32 lines · Paolo Bonzini
Quoted 24 lines · Marcelo Tosatti
Quoted 24 lines
Interesting idea! For this to work, KVM needs to implement getcrosstimestamp and
ptp_chardev.ccan then add an alternative implementation ofPTP_SYS_OFFSET, based on precise cross timestamps.Something like
for (i = 0; i <= sysoff->n_samples; i++) { // ... call getcrosststamp ... sysns = ktime_to_ns(xtstamp.sys_realtime); if (i > 0) { devns = ktime_to_ns(xtstamp.device); devns -= (sysns - prev_sysns) / 2; devts = ns_to_timespec(devns); pct->sec = devts.tv_sec; pct->nsec = devts.tv_nsec; pct++; } systs = ns_to_timespec(sysns); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec; pct++; prev_sysns = sysns; }Quoted 4 lines
Quoted 1 line
Marcelo, can you give it a try?
Can convert fine, but problem is the simultaneous read of host and guest clocks.
Quoted 6 lines
Could the TSC from the hypercall be applied to kvmclock to do this? My understanding is that
get_device_system_crosststamp(which is used in the sole in-tree implementation of getcrosststamp) already contains all the logic to do that.Paolo
Yeah feed that TSC to pvclock_clocksource_read.
Cool will take a look at that function thanks.
Re: [patch 3/3] PTP: add kvm PTP driver
In reply to Paolo BonziniQuoted 100 lines · Paolo Bonzini
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111nsQuoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
Quoted 6 lines
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.
A single TSC read could be used to implement the PRECISE ioctl, but if a timer interrupt takes place on either the host or the guest, and that timer interrupt "adds" the TSC delta to xtime.nsec/xtime.sec, then that single TSC read cannot be used.
So you would have to stop timer interrupts (in guest and host) for the duration of the PRECISE ioctl in the guest to avoid that situation, which seems a bit overkill to me.
Any other ideas?
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 113 lines · Marcelo Tosatti
Quoted 100 lines · Paolo Bonzini
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111nsQuoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
Quoted 6 lines
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.A single TSC read could be used to implement the PRECISE ioctl, but if a timer interrupt takes place on either the host or the guest, and that timer interrupt "adds" the TSC delta to xtime.nsec/xtime.sec, then that single TSC read cannot be used.
Quoted 5 lines
So you would have to stop timer interrupts (in guest and host) for the duration of the PRECISE ioctl in the guest to avoid that situation, which seems a bit overkill to me.
Any other ideas?
Could have a hypercall that disables host timer interrupts for a specified amount of time... But that does not scale with multiple VMs.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-18 12:53-0200, Marcelo Tosatti:
Quoted 114 lines
Quoted 113 lines · Marcelo Tosatti
Quoted 100 lines · Paolo Bonzini
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111nsQuoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
Quoted 6 lines
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.A single TSC read could be used to implement the PRECISE ioctl, but if a timer interrupt takes place on either the host or the guest, and that timer interrupt "adds" the TSC delta to xtime.nsec/xtime.sec, then that single TSC read cannot be used.
Quoted 8 lines
Quoted 5 lines
So you would have to stop timer interrupts (in guest and host) for the duration of the PRECISE ioctl in the guest to avoid that situation, which seems a bit overkill to me.
Any other ideas?
Could have a hypercall that disables host timer interrupts for a specified amount of time... But that does not scale with multiple VMs.
No need to disable interrupts on guest nor host as both protect the time by a seqlock. Do timer interrupts always advance the time base? (We could disable guest interrupts if they were too disruptive because
of the long hypercall, but the host is fine in any case.)
The guest protects tsc->sec/nsec by tk_core.seq, so we can make sure that the guest computed sec/nsec from the host tsc read from hypercall is consistent.
The {sec @ tsc, nsec @ tsc, tsc} triple provided by the host is also correct. (PTP_SYS_OFFSET_PRECISE can't have any problems with the host that PTP_SYS_OFFSET wouldn't also have.)
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 119 lines · Radim Krcmar
2017-01-18 12:53-0200, Marcelo Tosatti:
Quoted 118 lines
Quoted 117 lines · Marcelo Tosatti
Quoted 100 lines · Paolo Bonzini
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111nsQuoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
Quoted 6 lines
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.A single TSC read could be used to implement the PRECISE ioctl, but if a timer interrupt takes place on either the host or the guest, and that timer interrupt "adds" the TSC delta to xtime.nsec/xtime.sec, then that single TSC read cannot be used.
So you would have to stop timer interrupts (in guest and host) for the duration of the PRECISE ioctl in the guest to avoid that situation, which seems a bit overkill to me.
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Any other ideas?
Could have a hypercall that disables host timer interrupts for a specified amount of time... But that does not scale with multiple VMs.
No need to disable interrupts on guest nor host as both protect the time by a seqlock.
Still not scalable with multiple VMs... so need a different solution.
Quoted 1 line
Do timer interrupts always advance the time base?
No only when a full "cycle_interval" has been accumulated.
Quoted 2 lines
(We could disable guest interrupts if they were too disruptive because
of the long hypercall, but the host is fine in any case.)
VMs can harm host interrupt processing, don't see that as being OK (even when rate limited does scale to high number of VMs).
Quoted 3 lines
The guest protects tsc->sec/nsec by tk_core.seq, so we can make sure that the guest computed sec/nsec from the host tsc read from hypercall is consistent.
Doh, of course.
Quoted 3 lines
The {sec @ tsc, nsec @ tsc, tsc} triple provided by the host is also correct. (
PTP_SYS_OFFSET_PRECISEcan't have any problems with the host thatPTP_SYS_OFFSETwouldn't also have.)
Yep, should work, lets try.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-18 13:28-0200, Marcelo Tosatti:
Quoted 122 lines · Radim Krcmar
Quoted 121 lines
2017-01-18 12:53-0200, Marcelo Tosatti:
Quoted 120 lines
Quoted 118 lines · Marcelo Tosatti
Quoted 100 lines · Paolo Bonzini
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111nsQuoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
Quoted 6 lines
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.A single TSC read could be used to implement the PRECISE ioctl, but if a timer interrupt takes place on either the host or the guest, and that timer interrupt "adds" the TSC delta to xtime.nsec/xtime.sec, then that single TSC read cannot be used.
So you would have to stop timer interrupts (in guest and host) for the duration of the PRECISE ioctl in the guest to avoid that situation, which seems a bit overkill to me.
Any other ideas?
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
Could have a hypercall that disables host timer interrupts for a specified amount of time... But that does not scale with multiple VMs.
No need to disable interrupts on guest nor host as both protect the time by a seqlock.
Still not scalable with multiple VMs... so need a different solution.
What doesn't scale?
The VM hypercall takes read on the tk_core.seq, which doesn't block other VMs from doing the same.
Re: [patch 3/3] PTP: add kvm PTP driver
In reply to Paolo BonziniQuoted 93 lines · Paolo Bonzini
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Marcelo Tosatti
Quoted 22 lines · Radim Krcmar
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111ns
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
The issue is that, without it you have a larger window for interruptions to take place and therefore the read value when ->gettime64 return is from longer time in the past.
Quoted 3 lines
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.
Sure, I'll check if it makes sense to implement PTP_SYS_OFFSET_PRECISE for KVM case.
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 7 lines · Marcelo Tosatti
Quoted 3 lines · Paolo Bonzini
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.Sure, I'll check if it makes sense to implement
PTP_SYS_OFFSET_PRECISEfor KVM case.
But is it really so precise that the application can safely assume there are no errors due to asymmetric delays, etc? I think PTP_SYS_OFFSET_PRECISE should be supported only if the accuracy of the offset measured between the HW and system clock is not worse than the precision of the system clock (typically few tens of nanoseconds).
It would be good to verify the accuracy of the offset when the host and guest clocks are synchronised to each other over PTP using two NICs with HW timestamping.
Signature · 1 line
Miroslav Lichvar
Paolo Bonzini
maintainerRe: [patch 3/3] PTP: add kvm PTP driver
Quoted 11 lines · Miroslav Lichvar
Quoted 2 lines
Sure, I'll check if it makes sense to implement
PTP_SYS_OFFSET_PRECISEfor KVM case.But is it really so precise that the application can safely assume there are no errors due to asymmetric delays, etc? I think
PTP_SYS_OFFSET_PRECISEshould be supported only if the accuracy of the offset measured between the HW and system clock is not worse than the precision of the system clock (typically few tens of nanoseconds).It would be good to verify the accuracy of the offset when the host and guest clocks are synchronised to each other over PTP using two NICs with HW timestamping.
PTP_SYS_OFFSET_PRECISE works if the guest can compute its own timestamp based on the same source as the device. On bare metal you have:
- the source for system clock is the TSC (with clocksource_tsc)
- device provides a (time, ART) tuple
You can convert ART->TSC and then ask clocksource_tsc for a system time based on the device-provided ART value. Likewise for KVM:
- the source for system clock is the guest TSC (with kvmclock)
- host can provide a (time, guest TSC) tuple
The PTP driver can take the host-provided guest TSC, and ask kvmclock for a system time based on that TSC value. It's even simpler because there's no ART->TSC conversion involved, and it will always be precise and independent of any vmexit or interrupt delay.
Paolo
Re: [patch 3/3] PTP: add kvm PTP driver
In reply to Miroslav Lichvar2017-01-18 16:54+0100, Miroslav Lichvar:
Quoted 6 lines · Marcelo Tosatti
Quoted 5 lines · Paolo Bonzini
Quoted 3 lines
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.
Quoted 8 lines
Quoted 2 lines
Sure, I'll check if it makes sense to implement
PTP_SYS_OFFSET_PRECISEfor KVM case.But is it really so precise that the application can safely assume there are no errors due to asymmetric delays, etc? I think
PTP_SYS_OFFSET_PRECISEshould be supported only if the accuracy of the offset measured between the HW and system clock is not worse than the precision of the system clock (typically few tens of nanoseconds).
KVM is actually the perfect user of PTP_SYS_OFFSET_PRECISE: the host and guest system clocks use the same hardware clock.
(We want to copy the host data about the clock to the guest, and we just
happen to use PTP for that.)
Quoted 3 lines
It would be good to verify the accuracy of the offset when the host and guest clocks are synchronised to each other over PTP using two NICs with HW timestamping.
We can verify the accuracy just by reading the host time and tsc computing guest time from that tsc -- they should be equal.
Well, we don't give host frequency to the guest, but I hope that the guest can compute it accurately after polling the host few times. (Still, a room for improvement.)
NICs with HW timestamping would be a bit more complicated to set up. :)
Re: [patch 3/3] PTP: add kvm PTP driver
In reply to Paolo Bonzini2017-01-18 13:46+0100, Paolo Bonzini:
Quoted 95 lines · Marcelo Tosatti
Quoted 92 lines · Marcelo Tosatti
Quoted 91 lines · Radim Krcmar
Quoted 22 lines
2017-01-17 09:30-0200, Marcelo Tosatti:
Quoted 10 lines · Miroslav Lichvar
Quoted 9 lines
Users of the
PTP_SYS_OFFSETioctl assume that (ts[0]+ts[2])/2 corresponds to ts[1], (ts[2]+ts[4])/2 corresponds to ts[3], and so on.ts[1] ts[3] Host time ---------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]KVM PTP delay moves host ts[i] to be close to guest ts[i+1] and makes the offset very consistent, so the graph would look like:
ts[1] ts[3] Host time -------------+---------+........ | | | | Guest time ----+---------+---------+...... ts[0] ts[2] ts[4]Quoted 2 lines
which doesn't sound good if users assume that the host reading is in the middle -- the guest time would be ahead of the host time.
Testcase: run a guest and a loop sending SIGUSR1 to vcpu0 (emulating intense interrupts). Follows results:
Without TSC delta calculation:
=============================#* PHC0 0 3 377 2 -99ns[ +206ns] +/- 116ns #* PHC0 0 3 377 8 +202ns[ +249ns] +/- 111ns #* PHC0 0 3 377 8 -213ns[ +683ns] +/- 88ns #* PHC0 0 3 377 6 +77ns[ +319ns] +/- 56ns #* PHC0 0 3 377 4 -771ns[-1029ns] +/- 93ns #* PHC0 0 3 377 10 -49ns[ -58ns] +/- 121ns #* PHC0 0 3 377 9 +562ns[ +703ns] +/- 107ns #* PHC0 0 3 377 6 -2ns[ -3ns] +/- 94ns #* PHC0 0 3 377 4 +451ns[ +494ns] +/- 138ns #* PHC0 0 3 377 11 -67ns[ -74ns] +/- 113ns #* PHC0 0 3 377 8 +244ns[ +264ns] +/- 119ns #* PHC0 0 3 377 7 -696ns[ -890ns] +/- 89ns #* PHC0 0 3 377 4 +468ns[ +560ns] +/- 110ns #* PHC0 0 3 377 11 -310ns[ -430ns] +/- 72ns #* PHC0 0 3 377 9 +189ns[ +298ns] +/- 54ns #* PHC0 0 3 377 7 +594ns[ +473ns] +/- 96ns #* PHC0 0 3 377 5 +151ns[ +280ns] +/- 71ns #* PHC0 0 3 377 10 -590ns[ -696ns] +/- 94ns #* PHC0 0 3 377 8 +415ns[ +526ns] +/- 74ns #* PHC0 0 3 377 6 +1381ns[+1469ns] +/- 101ns #* PHC0 0 3 377 4 +571ns[+1304ns] +/- 54ns #* PHC0 0 3 377 8 -5ns[ +71ns] +/- 139ns #* PHC0 0 3 377 7 -247ns[ -502ns] +/- 69ns #* PHC0 0 3 377 5 -283ns[ +879ns] +/- 73ns #* PHC0 0 3 377 3 +148ns[ -109ns] +/- 61nsWith TSC delta calculation:
============================#* PHC0 0 3 377 7 +379ns[ +432ns] +/- 53ns #* PHC0 0 3 377 9 +106ns[ +420ns] +/- 42ns #* PHC0 0 3 377 7 -58ns[ -136ns] +/- 62ns #* PHC0 0 3 377 12 +93ns[ -38ns] +/- 64ns #* PHC0 0 3 377 8 +84ns[ +107ns] +/- 69ns #* PHC0 0 3 377 3 -76ns[ -103ns] +/- 52ns #* PHC0 0 3 377 7 +52ns[ +63ns] +/- 50ns #* PHC0 0 3 377 11 +29ns[ +31ns] +/- 70ns #* PHC0 0 3 377 7 -47ns[ -56ns] +/- 42ns #* PHC0 0 3 377 10 -35ns[ -42ns] +/- 33ns #* PHC0 0 3 377 7 -32ns[ -34ns] +/- 42ns #* PHC0 0 3 377 11 -172ns[ -173ns] +/- 118ns #* PHC0 0 3 377 6 +65ns[ +76ns] +/- 23ns #* PHC0 0 3 377 9 +18ns[ +23ns] +/- 37ns #* PHC0 0 3 377 6 +41ns[ -60ns] +/- 30ns #* PHC0 0 3 377 10 +39ns[ +183ns] +/- 42ns #* PHC0 0 3 377 6 +50ns[ +102ns] +/- 86ns #* PHC0 0 3 377 11 +50ns[ +75ns] +/- 52ns #* PHC0 0 3 377 6 +50ns[ +116ns] +/- 100ns #* PHC0 0 3 377 10 +46ns[ +65ns] +/- 79ns #* PHC0 0 3 377 7 -38ns[ -51ns] +/- 29ns #* PHC0 0 3 377 10 -11ns[ -12ns] +/- 32ns #* PHC0 0 3 377 7 -31ns[ -32ns] +/- 99ns #* PHC0 0 3 377 10 +222ns[ +238ns] +/- 58ns #* PHC0 0 3 377 6 +185ns[ +207ns] +/- 39ns #* PHC0 0 3 377 10 -392ns[ -394ns] +/- 118ns #* PHC0 0 3 377 6 -9ns[ -50ns] +/- 35ns #* PHC0 0 3 377 10 -346ns[ -355ns] +/- 111ns
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Do you still want to drop it in favour of simplicity?
This is the output of "chronyc sources". See section "Time sources" of https://chrony.tuxfamily.org/doc/2.4/chronyc.html.
It's just that it's not obvious why you get better results with biased host timestamps. What makes the biased host timestamp more precise?
I think that TSC offsetting is more precise (the difference between two samples smaller), but less accurate (the difference between guest and host clock is bigger).
And chronyc can't tell how much off from the host clock our guest clock is (that would be measured how I wrote above).
The main reason why it is more precise is because the TSC offset erases the effect of many latency sources that can happen before or after the host time read.
The precision with TSC offsetting is almost only affected by the duration between two guest time measurements, because the host time is shifted to be very close to the latter guest time measurement.
Without TSC offsetting, the host time will be closer to the middle between two guest reads (= better accuracy), but the moment of the tsc read on the host has more variables -- host interrupts and whatnot, which will result in lower precision.
Quoted 3 lines
I'd rather use
PTP_SYS_OFFSET_PRECISEinstead, but unfortunately chrony does not support it---but I would still prefer you to supportPTP_SYS_OFFSET_PRECISEas well.
Oh, I didn't expect that userspace can't use PTP_SYS_OFFSET_PRECISE ...
Re: [patch 3/3] PTP: add kvm PTP driver
In reply to Radim KrcmarQuoted 61 lines · Radim Krcmar
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 60 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.
Quoted 6 lines
Quoted 1 line
Where delay is the delta (measured with the TSC) between points 2 and 4.
I see now ... the PTP interface is just not good for our purposes. We don't return {sec, nsec,
guest_tsc}, we just return {sec, nsec} at some random time in the past. And to make it a bit more accurate, you add a best-effort delta before returning, which makes sense.
Not random time in the past. We return {sec, nsec} from the host realtime at the moment the user ran the hypercall.
Since PTP is very accurate, that "a bit more" counts, yes.
Quoted 4 lines
When we have to depend on pvclock, what are the advantages of not using the existing pvclock API for wall clock?
(You mentioned some extensions.)
Quoted 8 lines
struct pvclock_wall_clock { u32 version; u32 sec; u32 nsec; } __attribute__((__packed__));It gives the wall clock when pvclock was 0, so you just add current kvmclock and get the host wall clock.
Well, no. For one, the TSC part of kvmclock:
kvmclock-read = system_timestamp + convert-to-1GHz(rdtsc() - tsc_timestamp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Drifts relative to UTC. This part can be large.
The guests NTP is responsible for fixing
that drift of the guests realtime clock (talking about current setup, without KVM PTP driver).
Now, we want very high precision (less than 1us) for this driver. Very small TSC drifts on a large delta defeat the purpose.
Quoted 1 line
Without a VM exit.
Huge performance is not an issue. Accuracy (how different from the host realtime clock our "approximation" of the host realtime clock) is.
Quoted 1 line
And how often is
ptp_kvm_gettime()usually called?
The PTP_SYS_OFFSET ioctl calls the following code in a loop:
struct ptp_sys_offset {
unsigned int n_samples; /* Desired number of measurements. */
unsigned int rsv[3]; /* Reserved for future use. */
/*
* Array of interleaved system/phc time stamps. The kernel
* will provide 2*n_samples + 1 time stamps, with the last
* one as a system time stamp.
*/
struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1];
};
#define PTP_MAX_SAMPLES 25 /* Maximum allowed offset measurement samples. */
case PTP_SYS_OFFSET:
sysoff = memdup_user((void __user *)arg,
sizeof(*sysoff));
if (IS_ERR(sysoff)) {
err = PTR_ERR(sysoff);
sysoff = NULL;
break;
}
if (sysoff->n_samples > PTP_MAX_SAMPLES) {
err = -EINVAL;
break;
}
pct = &sysoff->ts[0];
for (i = 0; i < sysoff->n_samples; i++) {
getnstimeofday64(&ts);
pct->sec = ts.tv_sec;
pct->nsec = ts.tv_nsec;
pct++;
ptp->info->gettime64(ptp->info, &ts);
pct->sec = ts.tv_sec;
pct->nsec = ts.tv_nsec;
pct++;
}
getnstimeofday64(&ts);
pct->sec = ts.tv_sec;
pct->nsec = ts.tv_nsec;How often that ioctl is called depends on the parameters of the Chrony PHC code. Initially (to determine the clock difference Chrony should call it more frequently, later on it should call it less frequency).
Perhaps once every second initially (the ioctl). I'll confirm with the exact value for my setup and reply to this email.
Quoted 10 lines
Thanks.
Quoted 6 lines
Quoted 3 lines
Because we'll always be quering the time at tsc + y, where y >> x, and we'd likely have other problems if shifting the time base by few thousand cycles made a difference.
Radim, i didnt get your "tsc + x", "time +
tsc_delta_to_time(x)" formulas above. Can you be more verbose please?
Quoted 8 lines
x is the delta,
tsc_delta_to_time()is whatpvclock_scale_delta()does.I assumed that we set precise time with TSC, so the delta wouldn't matter, because PTP would either get {sec, nsec,
guest_tsc}, or the same, but just shifted by delta, hence
{sec +tsc_delta_to_time(x)/NSEC_PER_SEC,
nsec +tsc_delta_to_time(x)%NSEC_PER_SEC,
guest_tsc+ x}.
Ah, OK. I understand you now understood the meaning of "tsc" part of the {sec, nsec, guest_tsc} triple.
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-16 15:04-0200, Marcelo Tosatti:
Quoted 64 lines · Radim Krcmar
Quoted 63 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 61 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
Quoted 7 lines
Quoted 4 lines
I see now ... the PTP interface is just not good for our purposes. We don't return {sec, nsec,
guest_tsc}, we just return {sec, nsec} at some random time in the past. And to make it a bit more accurate, you add a best-effort delta before returning, which makes sense.Not random time in the past. We return {sec, nsec} from the host realtime at the moment the user ran the hypercall.
That is what we want, but {sec, nsec} is not anchored to any running time, so it is unavoidably late when we return it.
Quoted 19 lines
Since PTP is very accurate, that "a bit more" counts, yes.
Quoted 4 lines
When we have to depend on pvclock, what are the advantages of not using the existing pvclock API for wall clock?
(You mentioned some extensions.)Quoted 8 lines
struct pvclock_wall_clock { u32 version; u32 sec; u32 nsec; } __attribute__((__packed__));It gives the wall clock when pvclock was 0, so you just add current kvmclock and get the host wall clock.
Well, no. For one, the TSC part of kvmclock:
kvmclock-read = system_timestamp + convert-to-1GHz(rdtsc() - tsc_timestamp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Quoted 7 lines
Drifts relative to UTC. This part can be large.
The guests NTP is responsible for fixing
that drift of the guests realtime clock (talking about current setup, without KVM PTP driver).Now, we want very high precision (less than 1us) for this driver. Very small TSC drifts on a large delta defeat the purpose.
True.
Quoted 4 lines
Quoted 1 line
Without a VM exit.
Huge performance is not an issue. Accuracy (how different from the host realtime clock our "approximation" of the host realtime clock) is.
Ah, ok.
Quoted 32 lines
Quoted 1 line
And how often is
ptp_kvm_gettime()usually called?The
PTP_SYS_OFFSETioctl calls the following code in a loop:struct
ptp_sys_offset{
unsigned intn_samples; /* Desired number of measurements. */
unsigned int rsv[3]; /* Reserved for future use. */
/*
* Array of interleaved system/phc time stamps. The kernel
* will provide 2*n_samples + 1 time stamps, with the last
* one as a system time stamp.
*/
structptp_clock_timets[2 *PTP_MAX_SAMPLES+ 1];
};#define
PTP_MAX_SAMPLES25 /* Maximum allowed offset measurement samples. */case
PTP_SYS_OFFSET:
sysoff = memdup_user((void__user*)arg,sizeof(*sysoff)); if (IS_ERR(sysoff)) { err = PTR_ERR(sysoff); sysoff = NULL; break; } if (sysoff->n_samples > PTP_MAX_SAMPLES) { err = -EINVAL; break; } pct = &sysoff->ts[0]; for (i = 0; i < sysoff->n_samples; i++) {
Quoted 8 lines
getnstimeofday64(&ts);
pct->sec = ts.tv_sec;
pct->nsec = ts.tv_nsec;
pct++;
ptp->info->gettime64(ptp->info, &ts);
pct->sec = ts.tv_sec;
pct->nsec = ts.tv_nsec;
pct++;Hm, this loop alternates between system time and ptp time and I'd guess that userspace then manipulates deltas of these two readings and applies the result to system time.
I'm not even sure that pvclock delta improves the situation anymore -- it adds an offset to all gettime64() reads, but that can be computed from multiple datapoints. (And the delta also adds uncertainty to results.)
Quoted 11 lines
} getnstimeofday64(&ts); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec;How often that ioctl is called depends on the parameters of the Chrony PHC code. Initially (to determine the clock difference Chrony should call it more frequently, later on it should call it less frequency).
Perhaps once every second initially (the ioctl). I'll confirm with the exact value for my setup and reply to this email.
Thanks.
Re: [patch 3/3] PTP: add kvm PTP driver
Quoted 153 lines · Radim Krcmar
2017-01-16 15:04-0200, Marcelo Tosatti:
Quoted 64 lines · Radim Krcmar
Quoted 63 lines
2017-01-13 15:40-0200, Marcelo Tosatti:
Quoted 61 lines · Radim Krcmar
Quoted 41 lines
2017-01-13 10:01-0200, Marcelo Tosatti:
Quoted 26 lines
drivers/ptp/ptp_kvm.c new file +26
-0+ version =pvclock_read_begin (src); + + ret =kvm_hypercall2 (KVM_HC_CLOCK_OFFSET , + clock_off_gpa, +KVM_CLOCK_OFFSET_WALLCLOCK ); +if (ret !=0 ) { +pr_err ("clock offset hypercall ret %lu\n" , ret); +spin_unlock (&kvm_ptp_lock); +preempt_enable_notrace (); +return -EOPNOTSUPP ; + } + + tspec.tv_sec = clock_off.sec; + tspec.tv_nsec = clock_off.nsec; + + delta =rdtsc_ordered () - clock_off.tsc; + + offset =pvclock_scale_delta (delta, src->tsc_to_system_mul, + src->tsc_shift); + + }while (pvclock_read_retry (src, version)); + +preempt_enable_notrace (); + + tspec.tv_nsec = tspec.tv_nsec + offset; +drivers/ptp/ptp_kvm.c line 116
Quoted 10 lines
drivers/ptp/ptp_kvm.c new file +10
-0+spin_unlock (&kvm_ptp_lock); + +if (tspec.tv_nsec >=NSEC_PER_SEC ) { +u64 secs = tspec.tv_nsec; + + tspec.tv_nsec =do_div (secs,NSEC_PER_SEC ); + tspec.tv_sec += secs; + } + +memcpy (ts, &tspec,sizeof (struct timespec64 ));But the whole idea is of improving the time by reading tsc a bit later is just weird ... why is it better to provide
Quoted 7 lines
tsc + x, time +
tsc_delta_to_time(x)than just
tsc, time
?
Because you want to calculate the value of the host realtime clock at the moment of
ptp_kvm_gettime.We do:
1.
kvm_hypercall.
2. get {sec, nsec,guest_tsc}.
3.kvm_hypercallreturns.
4. delay =rdtsc()-guest_tsc.Where delay is the delta (measured with the TSC) between points 2 and 4.
Quoted 7 lines
Quoted 4 lines
I see now ... the PTP interface is just not good for our purposes. We don't return {sec, nsec,
guest_tsc}, we just return {sec, nsec} at some random time in the past. And to make it a bit more accurate, you add a best-effort delta before returning, which makes sense.Not random time in the past. We return {sec, nsec} from the host realtime at the moment the user ran the hypercall.
That is what we want, but {sec, nsec} is not anchored to any running time, so it is unavoidably late when we return it.
Quoted 19 lines
Since PTP is very accurate, that "a bit more" counts, yes.
Quoted 4 lines
When we have to depend on pvclock, what are the advantages of not using the existing pvclock API for wall clock?
(You mentioned some extensions.)Quoted 8 lines
struct pvclock_wall_clock { u32 version; u32 sec; u32 nsec; } __attribute__((__packed__));It gives the wall clock when pvclock was 0, so you just add current kvmclock and get the host wall clock.
Well, no. For one, the TSC part of kvmclock:
kvmclock-read = system_timestamp + convert-to-1GHz(rdtsc() - tsc_timestamp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Quoted 7 lines
Drifts relative to UTC. This part can be large.
The guests NTP is responsible for fixing
that drift of the guests realtime clock (talking about current setup, without KVM PTP driver).Now, we want very high precision (less than 1us) for this driver. Very small TSC drifts on a large delta defeat the purpose.
True.
Quoted 4 lines
Quoted 1 line
Without a VM exit.
Huge performance is not an issue. Accuracy (how different from the host realtime clock our "approximation" of the host realtime clock) is.
Ah, ok.
Quoted 32 lines
Quoted 1 line
And how often is
ptp_kvm_gettime()usually called?The
PTP_SYS_OFFSETioctl calls the following code in a loop:struct
ptp_sys_offset{
unsigned intn_samples; /* Desired number of measurements. */
unsigned int rsv[3]; /* Reserved for future use. */
/*
* Array of interleaved system/phc time stamps. The kernel
* will provide 2*n_samples + 1 time stamps, with the last
* one as a system time stamp.
*/
structptp_clock_timets[2 *PTP_MAX_SAMPLES+ 1];
};#define
PTP_MAX_SAMPLES25 /* Maximum allowed offset measurement samples. */case
PTP_SYS_OFFSET:
sysoff = memdup_user((void__user*)arg,sizeof(*sysoff)); if (IS_ERR(sysoff)) { err = PTR_ERR(sysoff); sysoff = NULL; break; } if (sysoff->n_samples > PTP_MAX_SAMPLES) { err = -EINVAL; break; } pct = &sysoff->ts[0]; for (i = 0; i < sysoff->n_samples; i++) {Quoted 8 lines
getnstimeofday64(&ts); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec; pct++; ptp->info->gettime64(ptp->info, &ts); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec; pct++;
Quoted 3 lines
Hm, this loop alternates between system time and ptp time and I'd guess that userspace then manipulates deltas of these two readings and applies the result to system time.
Yes.
Quoted 4 lines
I'm not even sure that pvclock delta improves the situation anymore -- it adds an offset to all
gettime64()reads, but that can be computed from multiple datapoints. (And the delta also adds uncertainty to results.)
Sorry: the value returned from ->gettime64 should be the value of the clock at that instant.
If you remove the pvclock delta (lets assume its 2000ns), then you'll sync getnstimeofday64 to a clock thats 2000ns behind the host clock.
Does that make sense?
Quoted 5 lines
Quoted 5 lines
} getnstimeofday64(&ts); pct->sec = ts.tv_sec; pct->nsec = ts.tv_nsec;
Quoted 8 lines
Quoted 6 lines
How often that ioctl is called depends on the parameters of the Chrony PHC code. Initially (to determine the clock difference Chrony should call it more frequently, later on it should call it less frequency).
Perhaps once every second initially (the ioctl). I'll confirm with the exact value for my setup and reply to this email.
Thanks.
Attached. 1551 hypercalls in 38 secs is about 40 times per second. The ioctl is calling ->gettime64 10 per ioctl, so thats about 4 ioctls per sec.
# tracer: nop
#
# entries-in-buffer/entries-written: 1540/1540 #P:4
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | qemu-system-x86-1630 [000] .... 612.087050: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087059: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087061: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087064: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087066: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087068: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087070: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087073: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087075: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.087077: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337454: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337461: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337463: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337465: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337467: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337469: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337471: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337473: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337474: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.337476: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587820: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587825: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587828: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587829: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587831: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587833: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587835: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587836: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587838: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.587840: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838183: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838189: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838191: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838193: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838195: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838197: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838198: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838200: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838202: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 612.838204: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088535: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088541: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088543: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088545: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088547: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088549: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088551: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088553: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088554: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.088579: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338897: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338904: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338907: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338909: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338911: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338913: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338915: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338916: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338918: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.338920: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589255: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589260: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589262: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589264: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589266: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589268: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589270: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589272: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589274: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.589276: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839626: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839633: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839635: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839637: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839639: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839641: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839642: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839645: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839647: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 613.839649: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.089987: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.089993: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.089995: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.089997: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.089999: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.090001: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.090003: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.090005: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.090007: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.090009: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340343: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340348: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340351: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340352: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340354: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340356: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340358: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340360: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340362: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 614.340364: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590713: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590719: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590721: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590722: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590724: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590726: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590728: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590730: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590731: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.590733: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841063: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841068: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841070: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841072: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841074: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841076: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841078: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841080: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841082: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 614.841084: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091415: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091420: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091423: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091425: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091426: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091428: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091430: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091432: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091434: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.091436: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341680: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341685: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341687: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341689: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341691: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341693: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341695: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341697: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341699: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.341701: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592040: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592045: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592047: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592049: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592051: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592052: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592054: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592056: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592058: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.592060: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842388: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842393: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842395: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842397: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842399: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842401: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842403: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842405: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842407: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 615.842409: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092734: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092739: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092741: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092743: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092745: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092746: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092748: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092750: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092752: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.092754: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343097: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343104: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343106: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343108: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343110: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343112: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343114: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343116: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343118: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.343120: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593453: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593459: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593461: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593463: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593465: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593467: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593469: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593470: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593472: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.593474: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843828: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843835: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843837: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843839: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843841: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843843: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843845: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843847: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843849: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 616.843850: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094184: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094190: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094192: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094194: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094196: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094198: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094200: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094201: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094203: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.094205: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344560: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344565: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344568: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344570: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344572: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344574: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344575: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344577: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344579: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.344581: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594934: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594939: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594942: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594944: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594945: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594947: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594949: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594951: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594953: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.594955: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845286: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845291: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845294: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845296: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845298: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845299: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845301: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845303: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845305: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 617.845307: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095669: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095674: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095677: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095678: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095680: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095682: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095684: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095685: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095687: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.095689: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346029: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346035: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346037: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346038: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346041: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346043: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346045: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346047: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346048: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.346050: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596384: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596389: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596391: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596393: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596395: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596397: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596398: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596400: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596402: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.596404: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846733: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846739: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846741: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846743: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846745: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846747: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846749: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846751: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846753: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 618.846755: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097087: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097092: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097095: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097096: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097098: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097100: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097102: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097104: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097106: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.097108: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347439: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347445: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347447: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347449: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347451: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347452: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347454: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347456: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347458: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.347460: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597810: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597817: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597820: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597823: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597826: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597829: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597832: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597835: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597837: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.597840: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848175: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848180: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848182: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848184: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848186: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848188: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848190: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848192: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848193: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 619.848195: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098579: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098586: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098588: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098590: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098592: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098594: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098595: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098597: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098599: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.098601: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348942: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348948: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348950: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348952: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348953: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348955: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348957: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348959: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348960: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.348962: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599294: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599300: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599302: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599304: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599306: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599308: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599310: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599312: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599313: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.599315: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849646: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849652: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849654: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849656: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849658: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849660: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849662: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849664: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849666: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 620.849667: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100009: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100016: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100019: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100021: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100022: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100024: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100026: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100028: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100030: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.100032: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350363: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350369: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350371: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350373: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350375: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350377: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350379: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350381: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350382: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.350384: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600744: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600749: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600752: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600753: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600755: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600757: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600759: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600760: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600762: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.600764: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851104: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851110: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851112: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851114: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851116: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851118: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851120: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851122: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851124: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 621.851126: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101458: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101464: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101466: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101468: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101470: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101472: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101474: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101476: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101477: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.101479: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351816: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351822: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351824: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351826: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351828: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351830: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351832: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351834: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351836: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.351838: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602175: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602181: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602183: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602185: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602187: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602188: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602190: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602192: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602194: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.602196: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852527: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852533: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852535: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852537: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852539: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852541: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852544: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852547: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852550: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 622.852553: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102887: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102892: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102895: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102897: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102898: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102900: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102902: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102904: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102906: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.102908: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353282: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353289: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353291: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353293: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353295: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353297: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353299: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353300: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353302: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.353304: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603663: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603669: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603671: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603673: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603675: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603677: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603678: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603680: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603682: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.603684: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854015: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854021: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854023: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854025: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854027: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854029: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854031: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854033: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854035: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 623.854037: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104363: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104369: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104371: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104373: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104374: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104376: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104378: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104380: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104382: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.104383: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354724: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354731: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354733: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354735: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354737: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354739: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354741: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354742: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354744: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 624.354746: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605113: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605120: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605122: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605124: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605126: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605128: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605130: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605132: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605134: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 624.605136: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855482: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855488: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855490: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855491: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855493: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855495: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855497: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855498: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855500: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 624.855502: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105843: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105848: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105850: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105852: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105854: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105856: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105857: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105859: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105861: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.105863: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356218: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356225: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356229: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356232: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356235: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356238: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356241: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356244: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356247: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.356250: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606599: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606606: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606608: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606610: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606612: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606614: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606616: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606618: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606620: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.606621: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856960: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856966: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856968: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856970: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856972: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856974: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856976: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856978: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856979: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 625.856981: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107314: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107319: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107321: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107323: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107326: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107328: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107330: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107332: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107334: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.107335: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357688: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357693: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357695: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357697: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357699: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357701: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357703: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357705: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357707: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.357708: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608042: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608048: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608050: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608052: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608054: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608056: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608058: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608059: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608061: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.608063: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858408: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858417: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858421: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858423: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858435: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858437: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858440: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858442: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858445: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 626.858447: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108799: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108829: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108831: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108833: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108835: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108837: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108839: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108840: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108842: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.108844: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359180: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359186: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359188: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359190: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359192: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359194: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359195: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359197: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359199: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.359201: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609531: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609537: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609539: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609541: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609543: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609545: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609547: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609549: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609551: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.609553: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859886: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859891: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859894: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859895: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859897: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859899: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859901: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859903: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859905: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 627.859907: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110254: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110260: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110262: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110264: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110266: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110268: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110270: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110271: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110273: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.110275: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360604: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360609: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360611: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360613: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360615: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360617: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360619: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360621: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360623: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.360625: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610959: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610965: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610967: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610969: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610971: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610973: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610975: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610977: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610978: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.610980: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861312: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861317: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861319: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861321: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861323: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861325: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861336: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861338: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861340: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 628.861341: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111675: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111689: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111692: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111693: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111695: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111697: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111699: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111701: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111703: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.111705: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362076: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362082: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362084: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362086: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362088: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362090: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362092: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362094: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362095: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.362097: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612427: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612433: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612435: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612437: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612439: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612441: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612443: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612444: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612446: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.612448: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862800: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862806: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862808: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862810: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862812: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862814: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862816: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862818: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862820: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 629.862822: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113174: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113180: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113182: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113184: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113186: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113188: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113190: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113191: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113193: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.113195: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363529: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363535: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363537: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363539: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363541: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363543: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363544: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363546: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363548: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.363550: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613888: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613893: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613895: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613897: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613899: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613901: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613902: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613904: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613906: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.613908: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864240: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864246: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864248: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864250: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864252: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864254: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864256: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864257: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864259: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 630.864261: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114595: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114601: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114604: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114606: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114607: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114609: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114611: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114613: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114615: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.114617: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364951: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364956: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364958: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364960: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364962: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364964: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364966: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364968: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364970: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.364972: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615311: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615317: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615319: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615321: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615323: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615325: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615326: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615328: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615330: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.615332: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865673: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865679: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865681: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865683: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865684: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865686: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865688: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865690: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865692: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 631.865693: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116033: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116039: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116041: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116043: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116044: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116046: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116048: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116050: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116052: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.116053: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366386: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366401: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366404: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366407: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366409: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366412: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366414: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366417: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366419: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.366423: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616752: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616758: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616760: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616762: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616764: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616765: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616767: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616769: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616771: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.616797: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867134: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867140: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867142: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867144: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867146: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867148: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867150: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867152: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867153: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 632.867155: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117488: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117494: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117496: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117498: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117500: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117502: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117504: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117506: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117508: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.117510: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367842: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367847: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367849: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367851: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367853: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367855: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367857: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367859: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367861: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.367863: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618195: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618201: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618203: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618205: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618207: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618208: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618210: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618212: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618214: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.618216: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868549: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868555: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868557: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868559: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868561: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868563: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868565: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868566: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868568: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 633.868570: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118902: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118908: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118910: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118912: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118914: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118916: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118917: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118919: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118921: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.118939: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369273: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369279: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369281: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369283: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369285: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369287: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369288: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369290: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369292: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.369294: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619630: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619636: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619638: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619640: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619641: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619643: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619645: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619647: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619648: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.619650: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.869986: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.869991: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.869993: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.869995: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.869997: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.869999: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.870001: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.870002: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.870004: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 634.870006: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120333: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120338: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120341: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120343: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120345: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120347: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120349: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120351: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120353: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.120354: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370689: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370694: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370696: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370698: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370699: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370701: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370703: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370704: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370706: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.370708: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621042: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621048: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621050: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621052: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621054: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621056: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621057: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621059: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621061: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.621063: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871399: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871406: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871408: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871410: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871412: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871414: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871416: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871417: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871419: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 635.871421: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121877: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121882: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121884: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121886: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121888: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121890: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121892: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121894: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121896: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.121898: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372233: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372239: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372241: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372243: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372245: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372247: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372249: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372250: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372252: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.372254: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622596: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622602: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622605: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622607: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622608: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622610: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622612: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622614: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622616: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.622618: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872756: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872763: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872765: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872767: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872768: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872770: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872772: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872774: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872775: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 636.872778: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123108: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123114: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123116: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123118: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123120: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123122: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123124: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123125: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123127: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.123129: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373466: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373471: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373474: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373476: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373477: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373479: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373481: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373483: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373485: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.373487: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623820: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623825: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623828: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623830: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623831: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623833: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623835: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623837: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623839: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.623841: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873968: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873974: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873976: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873978: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873980: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873982: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873984: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873986: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873987: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 637.873989: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124348: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124355: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124357: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124359: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124361: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124363: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124364: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124366: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124368: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.124370: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374708: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374713: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374715: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374717: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374719: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374721: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374723: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374724: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374726: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.374728: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625083: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625089: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625091: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625093: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625095: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625096: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625098: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625100: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625102: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.625103: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875444: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875450: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875452: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875454: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875456: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875458: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875460: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875462: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875464: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 638.875466: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125797: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125803: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125805: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125807: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125809: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125810: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125812: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125814: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125816: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.125818: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376152: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376158: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376160: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376162: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376164: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376166: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376167: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376169: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376171: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.376173: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626513: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626519: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626522: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626524: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626526: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626527: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626529: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626531: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626533: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.626535: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876872: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876879: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876881: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876883: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876885: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876887: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876889: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876891: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876893: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 639.876894: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127054: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127061: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127063: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127065: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127067: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127069: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127071: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127073: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127075: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.127076: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377413: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377420: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377422: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377424: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377426: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377428: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377430: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377432: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377434: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.377436: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627783: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627790: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627792: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627794: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627795: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627797: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627799: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627801: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627803: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.627805: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878141: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878148: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878150: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878153: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878155: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878157: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878159: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878160: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878162: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 640.878164: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128511: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128518: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128520: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128522: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128523: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128525: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128527: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128529: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128531: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.128533: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378877: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378884: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378886: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378888: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378890: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378892: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378894: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378896: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378898: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.378899: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629247: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629254: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629256: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629258: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629260: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629262: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629264: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629266: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629268: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.629269: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879608: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879615: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879617: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879619: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879621: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879622: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879624: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879626: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879628: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 641.879630: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.129989: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.129996: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.129999: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130000: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130002: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130004: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130006: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130008: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130010: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.130012: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380341: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380347: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380350: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380352: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380353: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380355: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380358: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380361: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380364: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.380367: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630714: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630720: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630722: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630724: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630726: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630728: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630730: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630732: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630733: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.630735: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881079: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881099: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881102: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881104: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881105: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881107: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881109: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881111: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881113: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 642.881115: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131458: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131466: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131468: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131469: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131471: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131473: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131475: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131477: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131478: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.131480: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381826: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381832: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381834: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381836: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381838: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381840: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381842: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381843: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381845: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 643.381847: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632194: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632201: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632203: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632205: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632207: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632209: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632211: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632212: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632214: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.632216: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882559: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882566: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882568: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882570: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882572: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882573: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882575: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882577: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882579: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 643.882581: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132948: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132955: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132957: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132959: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132961: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132963: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132965: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132967: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132969: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.132971: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383329: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383335: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383337: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383339: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383341: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383343: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383345: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383347: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383349: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.383351: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633692: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633698: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633701: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633702: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633704: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633706: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633708: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633710: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633712: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.633714: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883841: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883850: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883853: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883856: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883859: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883862: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883865: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883875: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883878: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 644.883880: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134215: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134222: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134224: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134226: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134228: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134229: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134231: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134234: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134236: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.134238: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384588: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384594: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384597: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384598: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384600: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384602: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384604: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384605: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384607: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.384609: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634936: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634942: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634944: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634946: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634948: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634950: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634952: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634954: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634956: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.634958: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885302: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885309: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885311: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885313: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885315: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885317: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885318: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885320: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885322: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 645.885324: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135660: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135666: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135668: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135670: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135672: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135674: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135676: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135678: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135679: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.135681: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386038: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386044: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386046: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386048: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386050: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386052: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386054: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386056: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386058: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.386059: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636394: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636400: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636402: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636404: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636406: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636407: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636409: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636411: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636413: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.636415: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886757: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886763: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886765: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886767: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886769: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886771: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886772: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886774: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886776: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 646.886778: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137115: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137121: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137124: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137125: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137128: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137130: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137132: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137134: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137136: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [003] .... 647.137137: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387460: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387466: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387468: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387470: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387472: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387473: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387475: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387477: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387479: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [000] .... 647.387480: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637820: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637826: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637828: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637829: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637831: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637833: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637835: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637837: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637838: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.637840: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888197: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888203: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888205: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888207: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888209: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888211: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888212: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888214: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888216: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 647.888218: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138555: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138560: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138562: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138564: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138566: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138568: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138570: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138571: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138573: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.138575: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388911: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388918: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388920: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388922: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388924: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388926: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388928: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388930: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388931: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.388933: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639263: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639269: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639271: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639273: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639274: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639276: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639278: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639280: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639282: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.639284: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889619: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889625: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889627: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889629: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889631: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889633: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889635: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889637: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889638: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 648.889640: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139973: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139979: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139981: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139983: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139985: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139987: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139989: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139990: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139992: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.139994: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390329: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390334: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390336: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390338: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390340: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390342: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390344: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390346: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390348: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.390350: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640699: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640705: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640710: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640712: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640714: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640715: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640717: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640719: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640730: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.640732: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891064: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891069: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891072: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891093: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891096: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891098: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891100: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891102: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891103: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [001] .... 649.891105: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141454: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141460: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141462: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141464: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141466: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141468: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141469: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141471: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141473: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.141475: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391813: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391818: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391820: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391822: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391823: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391825: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391827: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391829: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391830: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8 qemu-system-x86-1630 [002] .... 650.391832: kvm_hypercall: nr 0x9 a0 0x3725ff20 a1 0x0 a2 0x6 a3 0xffffb75e40e7bca8
Richard Cochran
maintainerRe: [patch 3/3] PTP: add kvm PTP driver
In reply to Radim KrcmarQuoted 4 lines · Radim Krcmar
Quoted 4 lines
drivers/ptp/ptp_kvm.c new file +4
-0+static int __init ptp_kvm_init (void ) +{ +if (!kvm_para_available ()) +return -ENODEV ;
Quoted 8 lines
drivers/ptp/ptp_kvm.c line 163
Quoted 4 lines
drivers/ptp/ptp_kvm.c new file +4
-0+ + kvm_ptp_clock.caps = ptp_kvm_caps; + + kvm_ptp_clock.ptp_clock =ptp_clock_register (&kvm_ptp_clock.caps,NULL );It is a shame that the infrastructure uses polling when the guest could be notified on every host real time change, but this should be good enough.
This comment makes no sense at all. What do you mean by "host real time change"?
Thanks,
Richard
Re: [patch 3/3] PTP: add kvm PTP driver
2017-01-14 16:26+0100, Richard Cochran:
Quoted 14 lines · Radim Krcmar
Quoted 4 lines
Quoted 4 lines
drivers/ptp/ptp_kvm.c new file +4
-0+static int __init ptp_kvm_init (void ) +{ +if (!kvm_para_available ()) +return -ENODEV ;Quoted 8 lines
drivers/ptp/ptp_kvm.c line 163
Quoted 4 lines
drivers/ptp/ptp_kvm.c new file +4
-0+ + kvm_ptp_clock.caps = ptp_kvm_caps; + + kvm_ptp_clock.ptp_clock =ptp_clock_register (&kvm_ptp_clock.caps,NULL );It is a shame that the infrastructure uses polling when the guest could be notified on every host real time change, but this should be good enough.
Quoted 2 lines
This comment makes no sense at all. What do you mean by "host real time change"?
Real time in the sense of wall clock, as perceived by the host, and the change of that time.
Unlike other PTP drivers, host (source) and guest (destination) share the same hardware clock, so they cannot shift or drift unless one of them changes its "TSC to real time" conversion (the host is most likely using NTP/PTP to keep its own real time).
I meant that the host could notify the guest when a change happens, which would be more efficient.