• Austin Clements's avatar
    runtime: schedule fractional workers on all Ps · e09dbaa1
    Austin Clements authored
    Currently only a single P can run a fractional mark worker at a time.
    This doesn't let us spread out the load, so it gets concentrated on
    whatever unlucky P picks up the token to run a fractional worker. This
    can significantly delay goroutines on that P.
    
    This commit changes this scheduling rule so each P separately
    schedules fractional workers. This can significantly reduce the load
    on any individual P and allows workers to self-preempt earlier. It
    does have the downside that it's possible for all Ps to be in
    fractional workers simultaneously (an effect STW).
    
    Updates #21698.
    
    Change-Id: Ia1e300c422043fa62bb4e3dd23c6232d81e4419c
    Reviewed-on: https://go-review.googlesource.com/68574
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
    e09dbaa1
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...