From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: why guests show "Clocksource tsc unstable" on bootup? Date: Sun, 15 Mar 2009 16:14:53 +0300 Message-ID: <49BCFF4D.3080906@msgid.tls.msk.ru> References: <49B5050B.9050204@wpkg.org> <49BCFB0D.2000901@redhat.com> <49BCFD43.9010604@wpkg.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Avi Kivity , "kvm@vger.kernel.org" To: Tomasz Chmielewski Return-path: Received: from isrv.corpit.ru ([81.13.33.159]:40817 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751583AbZCONPe (ORCPT ); Sun, 15 Mar 2009 09:15:34 -0400 In-Reply-To: <49BCFD43.9010604@wpkg.org> Sender: kvm-owner@vger.kernel.org List-ID: Tomasz Chmielewski wrote: > Avi Kivity schrieb: >> Tomasz Chmielewski wrote: >>> Why do my guests show "Clocksource tsc unstable" on bootup? The same happens here as well. >> Linux expects the tsc to be monotonic and to have a 1:1 correspondence >> with real time, which isn't easy to achieve with virtualization. > > But the clocksource is kvm-clock, so why does the guest probe tsc at all? > > >>> dmesg shows that kvm-clock was set as the primary cpu clock. >>> Yet a bit later kernel says "Clocksource tsc unstable". >>> >>> Is it something to worry about, or perhaps calculating tsc is hardcoded? >>> And as such, will be always checked? >>> Or, is it host CPU related? >>> >>> [ 0.000000] kvm-clock: cpu 0, msr 0:3baf81, boot clock >>> [ 0.000000] kvm-clock: cpu 0, msr 0:1208f81, primary cpu clock >>> [ 0.000000] Kernel command line: root=/dev/vda1 ro quiet >>> clocksource=kvm-clock >>> [ 1.253602] rtc_cmos 00:01: setting system clock to 2009-03-09 >>> 11:41:30 UTC (1236598890) >>> [ 41.500623] Clocksource tsc unstable (delta = -153498948 ns) >>> >> >> What host cpu and kvm version are you using? > > I pasted a part of /proc/cpuinfo below. > I saw these with kvm-83 and kvm-84 (with cpufreq disabled, as it perhaps > can matter). > > processor : 3 > vendor_id : AuthenticAMD > cpu family : 15 > model : 65 > model name : Dual-Core AMD Opteron(tm) Processor 2212 > stepping : 2 > cpu MHz : 2000.000 > cache size : 1024 KB > physical id : 1 > siblings : 2 > core id : 1 > cpu cores : 2 > fpu : yes > fpu_exception : yes > cpuid level : 1 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge > mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext > fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy > svm extapic cr8_legacy > bogomips : 3993.03 > TLB size : 1024 4K pages > clflush size : 64 > cache_alignment : 64 > address sizes : 40 bits physical, 48 bits virtual > power management: ts fid vid ttp tm stc Here, it shows unstable tsc on this machine since kvm-72 or even earlier, up to current kvm-84. The CPU on the host is this one (4 cores): vendor_id : AuthenticAMD cpu family : 16 model : 2 model name : AMD Phenom(tm) 9750 Quad-Core Processor stepping : 3 cpu MHz : 2400.000 cache size : 512 KB physical id : 0 siblings : 4 core id : 3 cpu cores : 4 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs bogomips : 4812.60 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate Host kernel is 2.6.28.8 amd64, guest is running 2.6.27.19 i686, kvm-84 userspace, kvm modules are from host kernel. Here how it looks like from the guest: # dmesg | egrep -i 'clock|tsc|time' kvm-clock: cpu 0, msr 0:3cb001, boot clock ACPI: PM-Timer IO Port: 0xb008 kvm-clock: cpu 0, msr 0:1409001, primary cpu clock TSC: Unable to calibrate against PIT TSC: using PMTIMER reference calibration Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.87 BogoMIPS (lpj=24004390) ..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1 Machine check exception polling timer started. Real Time Clock Driver v1.12ac Clocksource tsc unstable (delta = -69824578 ns) # cat /sys/devices/system/clocksource/clocksource0/available_clocksource kvm-clock acpi_pm jiffies tsc Thanks! /mjt