Commit b60d5e12 authored by Keith Randall's avatar Keith Randall

runtime: warn that cputicks() might not be monotonic.

Get rid of gocputicks(), it is no longer used.

LGTM=bradfitz, dave
R=golang-codereviews, bradfitz, dave, minux
CC=golang-codereviews
https://golang.org/cl/161110044
parent f29bd6c4
...@@ -871,12 +871,6 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-8 ...@@ -871,12 +871,6 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-8
MOVL DX, ret_hi+4(FP) MOVL DX, ret_hi+4(FP)
RET RET
TEXT runtime·gocputicks(SB),NOSPLIT,$0-8
RDTSC
MOVL AX, ret_lo+0(FP)
MOVL DX, ret_hi+4(FP)
RET
TEXT runtime·ldt0setup(SB),NOSPLIT,$16-0 TEXT runtime·ldt0setup(SB),NOSPLIT,$16-0
// set up ldt 7 to point at tls0 // set up ldt 7 to point at tls0
// ldt 1 would be fine on Linux, but on OS X, 7 is as low as we can go. // ldt 1 would be fine on Linux, but on OS X, 7 is as low as we can go.
......
...@@ -855,13 +855,6 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-0 ...@@ -855,13 +855,6 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-0
MOVQ AX, ret+0(FP) MOVQ AX, ret+0(FP)
RET RET
TEXT runtime·gocputicks(SB),NOSPLIT,$0-8
RDTSC
SHLQ $32, DX
ADDQ DX, AX
MOVQ AX, ret+0(FP)
RET
// hash function using AES hardware instructions // hash function using AES hardware instructions
TEXT runtime·aeshash(SB),NOSPLIT,$0-32 TEXT runtime·aeshash(SB),NOSPLIT,$0-32
MOVQ p+0(FP), AX // ptr to data MOVQ p+0(FP), AX // ptr to data
......
...@@ -657,13 +657,6 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-0 ...@@ -657,13 +657,6 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-0
MOVQ AX, ret+0(FP) MOVQ AX, ret+0(FP)
RET RET
TEXT runtime·gocputicks(SB),NOSPLIT,$0-8
RDTSC
SHLQ $32, DX
ADDQ DX, AX
MOVQ AX, ret+0(FP)
RET
// hash function using AES hardware instructions // hash function using AES hardware instructions
// For now, our one amd64p32 system (NaCl) does not // For now, our one amd64p32 system (NaCl) does not
// support using AES instructions, so have not bothered to // support using AES instructions, so have not bothered to
......
...@@ -1275,9 +1275,6 @@ TEXT runtime·fastrand1(SB),NOSPLIT,$-4-4 ...@@ -1275,9 +1275,6 @@ TEXT runtime·fastrand1(SB),NOSPLIT,$-4-4
MOVW R0, ret+0(FP) MOVW R0, ret+0(FP)
RET RET
TEXT runtime·gocputicks(SB),NOSPLIT,$0
B runtime·cputicks(SB)
TEXT runtime·return0(SB),NOSPLIT,$0 TEXT runtime·return0(SB),NOSPLIT,$0
MOVW $0, R0 MOVW $0, R0
RET RET
......
...@@ -180,7 +180,11 @@ func exit(code int32) ...@@ -180,7 +180,11 @@ func exit(code int32)
func breakpoint() func breakpoint()
func nanotime() int64 func nanotime() int64
func usleep(usec uint32) func usleep(usec uint32)
// careful: cputicks is not guaranteed to be monotonic! In particular, we have
// noticed drift between cpus on certain os/arch combinations. See issue 8976.
func cputicks() int64 func cputicks() int64
func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) unsafe.Pointer func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) unsafe.Pointer
func munmap(addr unsafe.Pointer, n uintptr) func munmap(addr unsafe.Pointer, n uintptr)
func madvise(addr unsafe.Pointer, n uintptr, flags int32) func madvise(addr unsafe.Pointer, n uintptr, flags int32)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment