* kvm: odd time values since "kvmclock: set scheduler clock stable" @ 2015-05-12 23:17 Sasha Levin 2015-05-13 12:58 ` Luiz Capitulino 2015-05-18 22:39 ` Marcelo Tosatti 0 siblings, 2 replies; 13+ messages in thread From: Sasha Levin @ 2015-05-12 23:17 UTC (permalink / raw) To: KVM General, LKML; +Cc: mtosatti, Paolo Bonzini, lcapitulino Hi all, I'm seeing odd jump in time values during boot of a KVM guest: [...] [ 0.000000] tsc: Detected 2260.998 MHz processor [3376355.247558] Calibrating delay loop (skipped) preset value.. [...] I've bisected it to: commit ff7bbb9c6ab6e6620429daeff39424bbde1a94b4 Author: Luiz Capitulino <lcapitulino@redhat.com> Date: Thu Apr 23 17:12:42 2015 -0400 kvmclock: set scheduler clock stable If you try to enable NOHZ_FULL on a guest today, you'll get the following error when the guest tries to deactivate the scheduler tick: WARNING: CPU: 3 PID: 2182 at kernel/time/tick-sched.c:192 can_stop_full_tick+0xb9/0x290() NO_HZ FULL will not work with unstable sched clock CPU: 3 PID: 2182 Comm: kworker/3:1 Not tainted 4.0.0-10545-gb9bb6fb #204 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: events flush_to_ldisc ffffffff8162a0c7 ffff88011f583e88 ffffffff814e6ba0 0000000000000002 ffff88011f583ed8 ffff88011f583ec8 ffffffff8104d095 ffff88011f583eb8 0000000000000000 0000000000000003 0000000000000001 0000000000000001 Call Trace: <IRQ> [<ffffffff814e6ba0>] dump_stack+0x4f/0x7b [<ffffffff8104d095>] warn_slowpath_common+0x85/0xc0 [<ffffffff8104d146>] warn_slowpath_fmt+0x46/0x50 [<ffffffff810bd2a9>] can_stop_full_tick+0xb9/0x290 [<ffffffff810bd9ed>] tick_nohz_irq_exit+0x8d/0xb0 [<ffffffff810511c5>] irq_exit+0xc5/0x130 [<ffffffff814f180a>] smp_apic_timer_interrupt+0x4a/0x60 [<ffffffff814eff5e>] apic_timer_interrupt+0x6e/0x80 <EOI> [<ffffffff814ee5d1>] ? _raw_spin_unlock_irqrestore+0x31/0x60 [<ffffffff8108bbc8>] __wake_up+0x48/0x60 [<ffffffff8134836c>] n_tty_receive_buf_common+0x49c/0xba0 [<ffffffff8134a6bf>] ? tty_ldisc_ref+0x1f/0x70 [<ffffffff81348a84>] n_tty_receive_buf2+0x14/0x20 [<ffffffff8134b390>] flush_to_ldisc+0xe0/0x120 [<ffffffff81064d05>] process_one_work+0x1d5/0x540 [<ffffffff81064c81>] ? process_one_work+0x151/0x540 [<ffffffff81065191>] worker_thread+0x121/0x470 [<ffffffff81065070>] ? process_one_work+0x540/0x540 [<ffffffff8106b4df>] kthread+0xef/0x110 [<ffffffff8106b3f0>] ? __kthread_parkme+0xa0/0xa0 [<ffffffff814ef4f2>] ret_from_fork+0x42/0x70 [<ffffffff8106b3f0>] ? __kthread_parkme+0xa0/0xa0 ---[ end trace 06e3507544a38866 ]--- However, it turns out that kvmclock does provide a stable sched_clock callback. So, let the scheduler know this which in turn makes NOHZ_FULL work in the guest. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Thanks, Sasha ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-12 23:17 kvm: odd time values since "kvmclock: set scheduler clock stable" Sasha Levin @ 2015-05-13 12:58 ` Luiz Capitulino 2015-05-13 15:38 ` Sasha Levin 2015-05-13 17:16 ` Paolo Bonzini 2015-05-18 22:39 ` Marcelo Tosatti 1 sibling, 2 replies; 13+ messages in thread From: Luiz Capitulino @ 2015-05-13 12:58 UTC (permalink / raw) To: Sasha Levin; +Cc: KVM General, LKML, mtosatti, Paolo Bonzini On Tue, 12 May 2015 19:17:24 -0400 Sasha Levin <sasha.levin@oracle.com> wrote: > Hi all, > > I'm seeing odd jump in time values during boot of a KVM guest: > > [...] > [ 0.000000] tsc: Detected 2260.998 MHz processor > [3376355.247558] Calibrating delay loop (skipped) preset value.. > [...] > > I've bisected it to: Thanks for bisecting. You just boot a guest to reproduce this? How many vCPUs does the guest have? Paolo, I think it's better to drop this patch for now. > > > commit ff7bbb9c6ab6e6620429daeff39424bbde1a94b4 > Author: Luiz Capitulino <lcapitulino@redhat.com> > Date: Thu Apr 23 17:12:42 2015 -0400 > > kvmclock: set scheduler clock stable > > If you try to enable NOHZ_FULL on a guest today, you'll get > the following error when the guest tries to deactivate the > scheduler tick: > > WARNING: CPU: 3 PID: 2182 at kernel/time/tick-sched.c:192 can_stop_full_tick+0xb9/0x290() > NO_HZ FULL will not work with unstable sched clock > CPU: 3 PID: 2182 Comm: kworker/3:1 Not tainted 4.0.0-10545-gb9bb6fb #204 > Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 > Workqueue: events flush_to_ldisc > ffffffff8162a0c7 ffff88011f583e88 ffffffff814e6ba0 0000000000000002 > ffff88011f583ed8 ffff88011f583ec8 ffffffff8104d095 ffff88011f583eb8 > 0000000000000000 0000000000000003 0000000000000001 0000000000000001 > Call Trace: > <IRQ> [<ffffffff814e6ba0>] dump_stack+0x4f/0x7b > [<ffffffff8104d095>] warn_slowpath_common+0x85/0xc0 > [<ffffffff8104d146>] warn_slowpath_fmt+0x46/0x50 > [<ffffffff810bd2a9>] can_stop_full_tick+0xb9/0x290 > [<ffffffff810bd9ed>] tick_nohz_irq_exit+0x8d/0xb0 > [<ffffffff810511c5>] irq_exit+0xc5/0x130 > [<ffffffff814f180a>] smp_apic_timer_interrupt+0x4a/0x60 > [<ffffffff814eff5e>] apic_timer_interrupt+0x6e/0x80 > <EOI> [<ffffffff814ee5d1>] ? _raw_spin_unlock_irqrestore+0x31/0x60 > [<ffffffff8108bbc8>] __wake_up+0x48/0x60 > [<ffffffff8134836c>] n_tty_receive_buf_common+0x49c/0xba0 > [<ffffffff8134a6bf>] ? tty_ldisc_ref+0x1f/0x70 > [<ffffffff81348a84>] n_tty_receive_buf2+0x14/0x20 > [<ffffffff8134b390>] flush_to_ldisc+0xe0/0x120 > [<ffffffff81064d05>] process_one_work+0x1d5/0x540 > [<ffffffff81064c81>] ? process_one_work+0x151/0x540 > [<ffffffff81065191>] worker_thread+0x121/0x470 > [<ffffffff81065070>] ? process_one_work+0x540/0x540 > [<ffffffff8106b4df>] kthread+0xef/0x110 > [<ffffffff8106b3f0>] ? __kthread_parkme+0xa0/0xa0 > [<ffffffff814ef4f2>] ret_from_fork+0x42/0x70 > [<ffffffff8106b3f0>] ? __kthread_parkme+0xa0/0xa0 > ---[ end trace 06e3507544a38866 ]--- > > However, it turns out that kvmclock does provide a stable > sched_clock callback. So, let the scheduler know this which > in turn makes NOHZ_FULL work in the guest. > > Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > > > Thanks, > Sasha > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-13 12:58 ` Luiz Capitulino @ 2015-05-13 15:38 ` Sasha Levin 2015-05-13 17:16 ` Paolo Bonzini 1 sibling, 0 replies; 13+ messages in thread From: Sasha Levin @ 2015-05-13 15:38 UTC (permalink / raw) To: Luiz Capitulino; +Cc: KVM General, LKML, mtosatti, Paolo Bonzini On 05/13/2015 08:58 AM, Luiz Capitulino wrote: > On Tue, 12 May 2015 19:17:24 -0400 > Sasha Levin <sasha.levin@oracle.com> wrote: > >> > Hi all, >> > >> > I'm seeing odd jump in time values during boot of a KVM guest: >> > >> > [...] >> > [ 0.000000] tsc: Detected 2260.998 MHz processor >> > [3376355.247558] Calibrating delay loop (skipped) preset value.. >> > [...] >> > >> > I've bisected it to: > Thanks for bisecting. You just boot a guest to reproduce this? How > many vCPUs does the guest have? > > Paolo, I think it's better to drop this patch for now. > Yup, just booting a 32 VCPU guest - it happens very early during boot. Thanks, Sasha ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-13 12:58 ` Luiz Capitulino 2015-05-13 15:38 ` Sasha Levin @ 2015-05-13 17:16 ` Paolo Bonzini 1 sibling, 0 replies; 13+ messages in thread From: Paolo Bonzini @ 2015-05-13 17:16 UTC (permalink / raw) To: Luiz Capitulino, Sasha Levin; +Cc: KVM General, LKML, mtosatti On 13/05/2015 14:58, Luiz Capitulino wrote: > On Tue, 12 May 2015 19:17:24 -0400 > Sasha Levin <sasha.levin@oracle.com> wrote: > >> Hi all, >> >> I'm seeing odd jump in time values during boot of a KVM guest: >> >> [...] >> [ 0.000000] tsc: Detected 2260.998 MHz processor >> [3376355.247558] Calibrating delay loop (skipped) preset value.. >> [...] >> >> I've bisected it to: > > Thanks for bisecting. You just boot a guest to reproduce this? How > many vCPUs does the guest have? > > Paolo, I think it's better to drop this patch for now. Ok, reverted. Paolo ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-12 23:17 kvm: odd time values since "kvmclock: set scheduler clock stable" Sasha Levin 2015-05-13 12:58 ` Luiz Capitulino @ 2015-05-18 22:39 ` Marcelo Tosatti 2015-05-18 23:45 ` Sasha Levin 1 sibling, 1 reply; 13+ messages in thread From: Marcelo Tosatti @ 2015-05-18 22:39 UTC (permalink / raw) To: Sasha Levin; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: > Hi all, > > I'm seeing odd jump in time values during boot of a KVM guest: > > [...] > [ 0.000000] tsc: Detected 2260.998 MHz processor > [3376355.247558] Calibrating delay loop (skipped) preset value.. > [...] > > I've bisected it to: Paolo, Sasha, Although this might seem undesirable, there is no requirement for sched_clock to initialize at 0: " * * There is no strict promise about the base, although it tends to start * at 0 on boot (but people really shouldn't rely on that). * " Sasha, are you seeing any problem other than the apparent time jump? ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-18 22:39 ` Marcelo Tosatti @ 2015-05-18 23:45 ` Sasha Levin 2015-05-19 0:13 ` Marcelo Tosatti 0 siblings, 1 reply; 13+ messages in thread From: Sasha Levin @ 2015-05-18 23:45 UTC (permalink / raw) To: Marcelo Tosatti; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino On 05/18/2015 06:39 PM, Marcelo Tosatti wrote: > On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: >> Hi all, >> >> I'm seeing odd jump in time values during boot of a KVM guest: >> >> [...] >> [ 0.000000] tsc: Detected 2260.998 MHz processor >> [3376355.247558] Calibrating delay loop (skipped) preset value.. >> [...] >> >> I've bisected it to: > > Paolo, Sasha, > > Although this might seem undesirable, there is no requirement > for sched_clock to initialize at 0: > > " > * > * There is no strict promise about the base, although it tends to start > * at 0 on boot (but people really shouldn't rely on that). > * > " > > Sasha, are you seeing any problem other than the apparent time jump? Nope, but I've looked at it again and it seems that it jumps to the host's clock (that is, in the example above the 3376355 value was the host's clock value). Thanks, Sasha ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-18 23:45 ` Sasha Levin @ 2015-05-19 0:13 ` Marcelo Tosatti 2015-05-19 2:02 ` Sasha Levin 0 siblings, 1 reply; 13+ messages in thread From: Marcelo Tosatti @ 2015-05-19 0:13 UTC (permalink / raw) To: Sasha Levin; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino GOn Mon, May 18, 2015 at 07:45:41PM -0400, Sasha Levin wrote: > On 05/18/2015 06:39 PM, Marcelo Tosatti wrote: > > On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: > >> Hi all, > >> > >> I'm seeing odd jump in time values during boot of a KVM guest: > >> > >> [...] > >> [ 0.000000] tsc: Detected 2260.998 MHz processor > >> [3376355.247558] Calibrating delay loop (skipped) preset value.. > >> [...] > >> > >> I've bisected it to: > > > > Paolo, Sasha, > > > > Although this might seem undesirable, there is no requirement > > for sched_clock to initialize at 0: > > > > " > > * > > * There is no strict promise about the base, although it tends to start > > * at 0 on boot (but people really shouldn't rely on that). > > * > > " > > > > Sasha, are you seeing any problem other than the apparent time jump? > > Nope, but I've looked at it again and it seems that it jumps to the host's > clock (that is, in the example above the 3376355 value was the host's clock > value). > > > Thanks, > Sasha Sasha, thats right. Its the host monotonic clock. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-19 0:13 ` Marcelo Tosatti @ 2015-05-19 2:02 ` Sasha Levin 2015-05-19 2:13 ` Sasha Levin 0 siblings, 1 reply; 13+ messages in thread From: Sasha Levin @ 2015-05-19 2:02 UTC (permalink / raw) To: Marcelo Tosatti; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino On 05/18/2015 08:13 PM, Marcelo Tosatti wrote: > GOn Mon, May 18, 2015 at 07:45:41PM -0400, Sasha Levin wrote: >> > On 05/18/2015 06:39 PM, Marcelo Tosatti wrote: >>> > > On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: >>>> > >> Hi all, >>>> > >> >>>> > >> I'm seeing odd jump in time values during boot of a KVM guest: >>>> > >> >>>> > >> [...] >>>> > >> [ 0.000000] tsc: Detected 2260.998 MHz processor >>>> > >> [3376355.247558] Calibrating delay loop (skipped) preset value.. >>>> > >> [...] >>>> > >> >>>> > >> I've bisected it to: >>> > > >>> > > Paolo, Sasha, >>> > > >>> > > Although this might seem undesirable, there is no requirement >>> > > for sched_clock to initialize at 0: >>> > > >>> > > " >>> > > * >>> > > * There is no strict promise about the base, although it tends to start >>> > > * at 0 on boot (but people really shouldn't rely on that). >>> > > * >>> > > " >>> > > >>> > > Sasha, are you seeing any problem other than the apparent time jump? >> > >> > Nope, but I've looked at it again and it seems that it jumps to the host's >> > clock (that is, in the example above the 3376355 value was the host's clock >> > value). >> > >> > >> > Thanks, >> > Sasha > Sasha, thats right. Its the host monotonic clock. It's worth figuring out if (what) userspace breaks on that. I know it says that you shouldn't rely on that, but I'd happily place a bet on at least one userspace treating it as "seconds since boot" or something similar. Thanks, Sasha ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-19 2:02 ` Sasha Levin @ 2015-05-19 2:13 ` Sasha Levin 2015-05-22 0:40 ` KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR Marcelo Tosatti 2015-05-22 0:41 ` kvm: odd time values since "kvmclock: set scheduler clock stable" Marcelo Tosatti 0 siblings, 2 replies; 13+ messages in thread From: Sasha Levin @ 2015-05-19 2:13 UTC (permalink / raw) To: Marcelo Tosatti; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino On 05/18/2015 10:02 PM, Sasha Levin wrote: > On 05/18/2015 08:13 PM, Marcelo Tosatti wrote: >> GOn Mon, May 18, 2015 at 07:45:41PM -0400, Sasha Levin wrote: >>>> On 05/18/2015 06:39 PM, Marcelo Tosatti wrote: >>>>>> On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I'm seeing odd jump in time values during boot of a KVM guest: >>>>>>>> >>>>>>>> [...] >>>>>>>> [ 0.000000] tsc: Detected 2260.998 MHz processor >>>>>>>> [3376355.247558] Calibrating delay loop (skipped) preset value.. >>>>>>>> [...] >>>>>>>> >>>>>>>> I've bisected it to: >>>>>> >>>>>> Paolo, Sasha, >>>>>> >>>>>> Although this might seem undesirable, there is no requirement >>>>>> for sched_clock to initialize at 0: >>>>>> >>>>>> " >>>>>> * >>>>>> * There is no strict promise about the base, although it tends to start >>>>>> * at 0 on boot (but people really shouldn't rely on that). >>>>>> * >>>>>> " >>>>>> >>>>>> Sasha, are you seeing any problem other than the apparent time jump? >>>> >>>> Nope, but I've looked at it again and it seems that it jumps to the host's >>>> clock (that is, in the example above the 3376355 value was the host's clock >>>> value). >>>> >>>> >>>> Thanks, >>>> Sasha >> Sasha, thats right. Its the host monotonic clock. > > It's worth figuring out if (what) userspace breaks on that. I know it says that > you shouldn't rely on that, but I'd happily place a bet on at least one userspace > treating it as "seconds since boot" or something similar. Didn't need to go far... In the guest: # date Tue May 19 02:11:46 UTC 2015 # echo hi > /dev/kmsg [3907533.080112] hi # dmesg -T [Fri Jul 3 07:33:41 2015] hi Thanks, Sasha ^ permalink raw reply [flat|nested] 13+ messages in thread
* KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR 2015-05-19 2:13 ` Sasha Levin @ 2015-05-22 0:40 ` Marcelo Tosatti 2015-05-22 0:41 ` kvm: odd time values since "kvmclock: set scheduler clock stable" Marcelo Tosatti 1 sibling, 0 replies; 13+ messages in thread From: Marcelo Tosatti @ 2015-05-22 0:40 UTC (permalink / raw) To: Sasha Levin; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino Initialize kvmclock base, on kvmclock system MSR write time, so that the guest sees kvmclock counting from zero. This matches baremetal behaviour when kvmclock in guest sets sched clock stable. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index cc2c759..ea40d24 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -2188,6 +2188,8 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) &vcpu->requests); ka->boot_vcpu_runs_old_kvmclock = tmp; + + ka->kvmclock_offset = get_kernel_ns(); } vcpu->arch.time = data; ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-19 2:13 ` Sasha Levin 2015-05-22 0:40 ` KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR Marcelo Tosatti @ 2015-05-22 0:41 ` Marcelo Tosatti 2015-05-26 13:21 ` Luiz Capitulino 1 sibling, 1 reply; 13+ messages in thread From: Marcelo Tosatti @ 2015-05-22 0:41 UTC (permalink / raw) To: Sasha Levin; +Cc: KVM General, LKML, Paolo Bonzini, lcapitulino On Mon, May 18, 2015 at 10:13:03PM -0400, Sasha Levin wrote: > On 05/18/2015 10:02 PM, Sasha Levin wrote: > > On 05/18/2015 08:13 PM, Marcelo Tosatti wrote: > >> GOn Mon, May 18, 2015 at 07:45:41PM -0400, Sasha Levin wrote: > >>>> On 05/18/2015 06:39 PM, Marcelo Tosatti wrote: > >>>>>> On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: > >>>>>>>> Hi all, > >>>>>>>> > >>>>>>>> I'm seeing odd jump in time values during boot of a KVM guest: > >>>>>>>> > >>>>>>>> [...] > >>>>>>>> [ 0.000000] tsc: Detected 2260.998 MHz processor > >>>>>>>> [3376355.247558] Calibrating delay loop (skipped) preset value.. > >>>>>>>> [...] > >>>>>>>> > >>>>>>>> I've bisected it to: > >>>>>> > >>>>>> Paolo, Sasha, > >>>>>> > >>>>>> Although this might seem undesirable, there is no requirement > >>>>>> for sched_clock to initialize at 0: > >>>>>> > >>>>>> " > >>>>>> * > >>>>>> * There is no strict promise about the base, although it tends to start > >>>>>> * at 0 on boot (but people really shouldn't rely on that). > >>>>>> * > >>>>>> " > >>>>>> > >>>>>> Sasha, are you seeing any problem other than the apparent time jump? > >>>> > >>>> Nope, but I've looked at it again and it seems that it jumps to the host's > >>>> clock (that is, in the example above the 3376355 value was the host's clock > >>>> value). > >>>> > >>>> > >>>> Thanks, > >>>> Sasha > >> Sasha, thats right. Its the host monotonic clock. > > > > It's worth figuring out if (what) userspace breaks on that. I know it says that > > you shouldn't rely on that, but I'd happily place a bet on at least one userspace > > treating it as "seconds since boot" or something similar. > > Didn't need to go far... In the guest: > > # date > Tue May 19 02:11:46 UTC 2015 > # echo hi > /dev/kmsg > [3907533.080112] hi > # dmesg -T > [Fri Jul 3 07:33:41 2015] hi Sasha, Can you give the suggested patch (hypervisor patch...) a try please? (with a patched guest, obviously). KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-22 0:41 ` kvm: odd time values since "kvmclock: set scheduler clock stable" Marcelo Tosatti @ 2015-05-26 13:21 ` Luiz Capitulino 2015-05-26 13:25 ` Sasha Levin 0 siblings, 1 reply; 13+ messages in thread From: Luiz Capitulino @ 2015-05-26 13:21 UTC (permalink / raw) To: Marcelo Tosatti; +Cc: Sasha Levin, KVM General, LKML, Paolo Bonzini On Thu, 21 May 2015 21:41:23 -0300 Marcelo Tosatti <mtosatti@redhat.com> wrote: > On Mon, May 18, 2015 at 10:13:03PM -0400, Sasha Levin wrote: > > On 05/18/2015 10:02 PM, Sasha Levin wrote: > > > On 05/18/2015 08:13 PM, Marcelo Tosatti wrote: > > >> GOn Mon, May 18, 2015 at 07:45:41PM -0400, Sasha Levin wrote: > > >>>> On 05/18/2015 06:39 PM, Marcelo Tosatti wrote: > > >>>>>> On Tue, May 12, 2015 at 07:17:24PM -0400, Sasha Levin wrote: > > >>>>>>>> Hi all, > > >>>>>>>> > > >>>>>>>> I'm seeing odd jump in time values during boot of a KVM guest: > > >>>>>>>> > > >>>>>>>> [...] > > >>>>>>>> [ 0.000000] tsc: Detected 2260.998 MHz processor > > >>>>>>>> [3376355.247558] Calibrating delay loop (skipped) preset value.. > > >>>>>>>> [...] > > >>>>>>>> > > >>>>>>>> I've bisected it to: > > >>>>>> > > >>>>>> Paolo, Sasha, > > >>>>>> > > >>>>>> Although this might seem undesirable, there is no requirement > > >>>>>> for sched_clock to initialize at 0: > > >>>>>> > > >>>>>> " > > >>>>>> * > > >>>>>> * There is no strict promise about the base, although it tends to start > > >>>>>> * at 0 on boot (but people really shouldn't rely on that). > > >>>>>> * > > >>>>>> " > > >>>>>> > > >>>>>> Sasha, are you seeing any problem other than the apparent time jump? > > >>>> > > >>>> Nope, but I've looked at it again and it seems that it jumps to the host's > > >>>> clock (that is, in the example above the 3376355 value was the host's clock > > >>>> value). > > >>>> > > >>>> > > >>>> Thanks, > > >>>> Sasha > > >> Sasha, thats right. Its the host monotonic clock. > > > > > > It's worth figuring out if (what) userspace breaks on that. I know it says that > > > you shouldn't rely on that, but I'd happily place a bet on at least one userspace > > > treating it as "seconds since boot" or something similar. > > > > Didn't need to go far... In the guest: > > > > # date > > Tue May 19 02:11:46 UTC 2015 > > # echo hi > /dev/kmsg > > [3907533.080112] hi > > # dmesg -T > > [Fri Jul 3 07:33:41 2015] hi > > Sasha, > > Can you give the suggested patch (hypervisor patch...) a try please? > (with a patched guest, obviously). > > KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system > MSR I've tried your v2, it works for me. My test-case is very simple though: I just boot a VM, log in and reboot. This reproduces the issue Sasha reported 100% of the times for me (don't need multi-vcpu guest either). Would be nice to hear from Sasha too. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: kvm: odd time values since "kvmclock: set scheduler clock stable" 2015-05-26 13:21 ` Luiz Capitulino @ 2015-05-26 13:25 ` Sasha Levin 0 siblings, 0 replies; 13+ messages in thread From: Sasha Levin @ 2015-05-26 13:25 UTC (permalink / raw) To: Luiz Capitulino, Marcelo Tosatti; +Cc: KVM General, LKML, Paolo Bonzini On 05/26/2015 09:21 AM, Luiz Capitulino wrote: >> Sasha, >> > >> > Can you give the suggested patch (hypervisor patch...) a try please? >> > (with a patched guest, obviously). >> > >> > KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system >> > MSR > I've tried your v2, it works for me. My test-case is very simple though: > I just boot a VM, log in and reboot. This reproduces the issue Sasha > reported 100% of the times for me (don't need multi-vcpu guest either). Sorry for the delay, we had a long weekend here. It seems to work fine here, no more jumps when booting. Thanks, Sasha ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2015-05-26 13:32 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-05-12 23:17 kvm: odd time values since "kvmclock: set scheduler clock stable" Sasha Levin 2015-05-13 12:58 ` Luiz Capitulino 2015-05-13 15:38 ` Sasha Levin 2015-05-13 17:16 ` Paolo Bonzini 2015-05-18 22:39 ` Marcelo Tosatti 2015-05-18 23:45 ` Sasha Levin 2015-05-19 0:13 ` Marcelo Tosatti 2015-05-19 2:02 ` Sasha Levin 2015-05-19 2:13 ` Sasha Levin 2015-05-22 0:40 ` KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR Marcelo Tosatti 2015-05-22 0:41 ` kvm: odd time values since "kvmclock: set scheduler clock stable" Marcelo Tosatti 2015-05-26 13:21 ` Luiz Capitulino 2015-05-26 13:25 ` Sasha Levin
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.