runtime: allow preemption in fast syscall return
Let a fast syscall return be a preemption point. This helps with tight loops that make system calls, as in BenchmarkSyscallExcessWork. Reviewed-on: https://go-review.googlesource.com/94895 From-SVN: r257848
This commit is contained in:
parent
9bd958c5f3
commit
911cef2e3b
@ -1,4 +1,4 @@
|
||||
459a8a94e04a19bde7173ef7cf2db369c2e62e2d
|
||||
c6e0970f75508e209a10a7db5164d6ea3f9b28bf
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -2794,6 +2794,13 @@ func exitsyscall(dummy int32) {
|
||||
exitsyscallclear(_g_)
|
||||
_g_.m.locks--
|
||||
_g_.throwsplit = false
|
||||
|
||||
// Check preemption, since unlike gc we don't check on
|
||||
// every call.
|
||||
if getg().preempt {
|
||||
checkPreempt()
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user