]> Cypherpunks repositories - gostls13.git/commit
runtime: disable dynamic priority boosting on windows
authorDmitriy Vyukov <dvyukov@google.com>
Sun, 4 Aug 2013 10:08:13 +0000 (14:08 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Sun, 4 Aug 2013 10:08:13 +0000 (14:08 +0400)
commita574822f8044204357236405dca60d1ca5123ab5
tree76c68f9b8f29786c626792be37fc3cbdd20a6065
parent7d4ea6cc9edf75199c72a42cfa3481f0e98f5d89
runtime: disable dynamic priority boosting on windows
Windows dynamic priority boosting assumes that a process has different types
of dedicated threads -- GUI, IO, computational, etc. Go processes use
equivalent threads that all do a mix of GUI, IO, computations, etc.
In such context dynamic priority boosting does nothing but harm, so turn it off.
In particular, if 2 goroutines do heavy IO on a server uniprocessor machine,
windows rejects to schedule timer thread for 2+ seconds when priority boosting is enabled.
Fixes #5971.

R=alex.brainman
CC=golang-dev
https://golang.org/cl/12406043
src/pkg/net/timeout_test.go
src/pkg/runtime/netpoll_windows.c
src/pkg/runtime/os_windows.c