mirror of
https://github.com/golang/go
synced 2024-11-11 20:40:21 -07:00
runtime: simplify code
The %61 hack was added when runtime was is in C. Now the Go compiler does the optimization. Change-Id: I79c3302ec4b931eaaaaffe75e7101c92bf287fc7 Reviewed-on: https://go-review.googlesource.com/3289 Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
a66aa77c2d
commit
6d37c830b6
@ -1429,10 +1429,7 @@ top:
|
||||
// Check the global runnable queue once in a while to ensure fairness.
|
||||
// Otherwise two goroutines can completely occupy the local runqueue
|
||||
// by constantly respawning each other.
|
||||
tick := _g_.m.p.schedtick
|
||||
// This is a fancy way to say tick%61==0,
|
||||
// it uses 2 MUL instructions instead of a single DIV and so is faster on modern processors.
|
||||
if uint64(tick)-((uint64(tick)*0x4325c53f)>>36)*61 == 0 && sched.runqsize > 0 {
|
||||
if _g_.m.p.schedtick%61 == 0 && sched.runqsize > 0 {
|
||||
lock(&sched.lock)
|
||||
gp = globrunqget(_g_.m.p, 1)
|
||||
unlock(&sched.lock)
|
||||
|
Loading…
Reference in New Issue
Block a user