• Dmitriy Vyukov's avatar
    runtime: disable dynamic priority boosting on windows · a574822f
    Dmitriy Vyukov authored
    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
    a574822f
timeout_test.go 16 KB