On Fri, 8 Apr 2016, Rudi Ludwig wrote:
> >Description:
>       <On a Lenovo E325 dmesg reports a clock of 6.7 GHz for cpu0 whereas
> cpu1 is reported with the correct 1.6 GHz (modulo rounding errors).
> There are no user visible ill effects, all supported hardware works as
> expacted, suspend/resume works.
> However cpu load as reported in top seams unevenly split, cpu0 is
> oftentimes shown as close to 100% idle.>
...
> dmesg:
> OpenBSD 5.9-current (GENERIC.MP) #1982: Sat Apr  2 11:43:48 MDT 2016
>     dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
...
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD E-350 Processor, 6706.74 MHz
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,SSSE3,CX16,POPCNT,NXE,MMXX,FFXSR,PAGE1GB,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,IBS,SKINIT,ITSC

This doesn't show the 'PERF' flag, so this frequency measurement is from 
the rdtsc() bits in cpu_tsc_freq().  At this point in the startup, delay() 
should be using i8254_delay().  The second CPU will do its calculation 
using lapic_delay(); could there be an error in how we handle the i8254 
stuff?


Philip Guenther

Reply via email to