1. 26 Dec, 2014 2 commits
  2. 25 Dec, 2014 1 commit
    • Dmitry Vyukov's avatar
      runtime: simplify procresize · ce9a4afa
      Dmitry Vyukov authored
      Currently we do very a complex rebalancing of runnable goroutines
      between queues, which tries to preserve scheduling fairness.
      Besides being complex and error-prone, it also destroys all locality
      of scheduling.
      
      This change uses simpler scheme: leave runnable goroutines where
      they are, during starttheworld start all Ps with local work,
      plus start one additional P in case we have excessive runnable
      goroutines in local queues or in the global queue.
      
      The schedler must be able to operate efficiently w/o the rebalancing,
      because garbage collections do not have to happen frequently.
      
      The immediate need is execution tracing support: handling of
      garabage collection which does stoptheworld/starttheworld several
      times becomes exceedingly complex if the current execution can
      jump between Ps during starttheworld.
      
      Change-Id: I4fdb7a6d80ca4bd08900d0c6a0a252a95b1a2c90
      Reviewed-on: https://go-review.googlesource.com/1951Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      ce9a4afa
  3. 24 Dec, 2014 5 commits
  4. 23 Dec, 2014 22 commits
  5. 22 Dec, 2014 10 commits