From bbf2da00fcd04746ec486a4361a28c99374b7eb6 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Tue, 27 Oct 2015 17:34:11 -0400 Subject: [PATCH] runtime: remove GC start up/shutdown workaround in mallocgc Currently mallocgc detects if the GC is in a state where it can't assist, but also can't allocate uncontrolled and yields to help out the GC. This was a workaround for periods when we were trying to schedule the GC coordinator. It is no longer necessary because there is no GC coordinator and malloc can always assist with any GC transitions that are necessary. Updates #11970. Change-Id: I4f7beb7013e85e50ae99a3a8b0bb708ba49cbcd4 Reviewed-on: https://go-review.googlesource.com/16392 Reviewed-by: Rick Hudson Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot --- src/runtime/malloc.go | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go index 81c3bdf5ce..365422a87a 100644 --- a/src/runtime/malloc.go +++ b/src/runtime/malloc.go @@ -736,17 +736,6 @@ func mallocgc(size uintptr, typ *_type, flags uint32) unsafe.Pointer { if shouldhelpgc && gcShouldStart(false) { gcStart(gcBackgroundMode, false) - } else if shouldhelpgc && bggc.working != 0 && gcBlackenEnabled == 0 { - // The GC shutting down, so we can't - // assist, but we also can't allocate unabated. Slow - // down this G's allocation and help the GC stay - // scheduled by yielding. - // - // TODO: This is unused. Remove. - gp := getg() - if gp != gp.m.g0 && gp.m.locks == 0 && gp.m.preemptoff == "" { - Gosched() - } } return x -- 2.48.1