Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Dec 2016 19:15:34 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Goran Meki? <meka@tilda.center>, freebsd-hackers@freebsd.org
Subject:   Re: How to use sem_timedwait?
Message-ID:  <20161215171534.GV94325@kib.kiev.ua>
In-Reply-To: <1481817343.1889.467.camel@freebsd.org>
References:  <20161214074228.zh6q5zya2gszw4g6@hal9000.meka.no-ip.org> <1481748960.1889.398.camel@freebsd.org> <20161215002906.mllorgvvuovbdtze@hal9000.meka.no-ip.org> <1481775511.1889.450.camel@freebsd.org> <1481776532.1889.461.camel@freebsd.org> <20161215112050.GO94325@kib.kiev.ua> <1481817343.1889.467.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 15, 2016 at 08:55:43AM -0700, Ian Lepore wrote:
> It makes me feel a bit better to hear that it's only this machine,
> which is pretty old. šI wonder if it has something to do with
> overclocking the cpu? šI never have any other kind of timing trouble,
> though. š(Given that I work in the field of precision timing, I'm a bit
> sensitive to such things.)
> 
> revolution > sysctl kern.timecounter kern.eventtimer
> kern.timecounter.tsc_shift: 1
> kern.timecounter.smp_tsc_adjust: 0
> kern.timecounter.smp_tsc: 1
> kern.timecounter.invariant_tsc: 1
> kern.timecounter.fast_gettime: 1
> kern.timecounter.tick: 1
> kern.timecounter.choice: TSC-low(1000) ACPI-fast(900) HPET(950) i8254(0) dummy(-1000000)
> kern.timecounter.hardware: TSC-low
> kern.timecounter.alloweddeviation: 0
> kern.timecounter.stepwarnings: 0
> kern.timecounter.tc.TSC-low.quality: 1000
> kern.timecounter.tc.TSC-low.frequency: 2125044382
> kern.timecounter.tc.TSC-low.counter: 1611837909
> kern.timecounter.tc.TSC-low.mask: 4294967295
> kern.timecounter.tc.ACPI-fast.quality: 900
> kern.timecounter.tc.ACPI-fast.frequency: 3579545
> kern.timecounter.tc.ACPI-fast.counter: 6548232
> kern.timecounter.tc.ACPI-fast.mask: 16777215
> kern.timecounter.tc.HPET.quality: 950
> kern.timecounter.tc.HPET.frequency: 14318180
> kern.timecounter.tc.HPET.counter: 3623382209
> kern.timecounter.tc.HPET.mask: 4294967295
> kern.timecounter.tc.i8254.quality: 0
> kern.timecounter.tc.i8254.frequency: 1193182
> kern.timecounter.tc.i8254.counter: 18218
> kern.timecounter.tc.i8254.mask: 65535
> kern.eventtimer.periodic: 0
> kern.eventtimer.timer: LAPIC
> kern.eventtimer.idletick: 0
> kern.eventtimer.singlemul: 2
> kern.eventtimer.choice: LAPIC(600) HPET(350) HPET1(340) HPET2(340) HPET3(340) i8254(100) RTC(0)
> kern.eventtimer.et.HPET3.quality: 340
> kern.eventtimer.et.HPET3.frequency: 14318180
> kern.eventtimer.et.HPET3.flags: 3
> kern.eventtimer.et.HPET2.quality: 340
> kern.eventtimer.et.HPET2.frequency: 14318180
> kern.eventtimer.et.HPET2.flags: 3
> kern.eventtimer.et.HPET1.quality: 340
> kern.eventtimer.et.HPET1.frequency: 14318180
> kern.eventtimer.et.HPET1.flags: 3
> kern.eventtimer.et.HPET.quality: 350
> kern.eventtimer.et.HPET.frequency: 14318180
> kern.eventtimer.et.HPET.flags: 3
> kern.eventtimer.et.RTC.quality: 0
> kern.eventtimer.et.RTC.frequency: 32768
> kern.eventtimer.et.RTC.flags: 17
> kern.eventtimer.et.i8254.quality: 100
> kern.eventtimer.et.i8254.frequency: 1193182
> kern.eventtimer.et.i8254.flags: 1
> kern.eventtimer.et.LAPIC.quality: 600
> kern.eventtimer.et.LAPIC.frequency: 85001804
> kern.eventtimer.et.LAPIC.flags: 7
> 
> 
> FreeBSD 10.3-STABLE #5 r308807: Fri Nov 18 09:51:39 MST 2016
> ššššilepore@revolution.hippie.lan:/b/staging/machines/revolution10/obj/b/staging/machines/revolution10/src/sys/REVOLUTION10 amd64
> FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
> VT(vga): text 80x25
> CPU: Intel(R) Xeon(R) CPUšššššššššššW3680šš@ 3.33GHz (4250.09-MHz K8-class CPU)
> š Origin="GenuineIntel"ššId=0x206c2ššFamily=0x6ššModel=0x2cššStepping=2
> š Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> š Features2=0x29ee3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,DCA,SSE4.1,SSE4.2,POPCNT,AESNI>
> š AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
> š AMD Features2=0x1<LAHF>
> š VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
> š TSC: P-state invariant, performance statistics
> real memoryšš= 12884901888 (12288 MB)
> avail memory = 12425519104 (11849 MB)
> Event timer "LAPIC" quality 600
> ACPI APIC Table: <092410 APIC1941>
> FreeBSD/SMP: Multiprocessor System Detected: 12 CPUs
> FreeBSD/SMP: 1 package(s) x 6 core(s) x 2 SMT threads
> 

It is Westmere machine.  If you switch to the HPET hardware for eventtimer,
does it feel better ?

Also please show output of sysctl dev.cpu.0.  You are on stable/10, there
were no usage of MWAIT instruction, but still switching to HPET might make
a difference.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161215171534.GV94325>