mirror of
https://github.com/golang/go.git
synced 2025-11-01 01:00:56 +00:00
Revert "runtime: fix trigger for concurrent GC"
This reverts commit 44529d9391.
Change-Id: I7671e2cd6f6a476efffa16e8110500a98258c0c1
Reviewed-on: https://go-review.googlesource.com/3130
Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
parent
44529d9391
commit
e6982fadd2
1 changed files with 4 additions and 6 deletions
|
|
@ -31,12 +31,10 @@ type pageID uintptr
|
|||
// base address for all 0-byte allocations
|
||||
var zerobase uintptr
|
||||
|
||||
// triggers the concurrent GC when 1/triggerratio memory is available to allocate.
|
||||
// Adjust this ratio as part of a scheme to ensure that mutators have enough
|
||||
// memory to allocate in durring a concurrent GC cycle.
|
||||
var triggerratio = uint64(8)
|
||||
|
||||
// Determine whether to initiate a GC.
|
||||
// Currently the primitive heuristic we use will start a new
|
||||
// concurrent GC when approximately half the available space
|
||||
// made available by the last GC cycle has been used.
|
||||
// If the GC is already working no need to trigger another one.
|
||||
// This should establish a feedback loop where if the GC does not
|
||||
// have sufficient time to complete then more memory will be
|
||||
|
|
@ -46,7 +44,7 @@ var triggerratio = uint64(8)
|
|||
// A false negative simple does not start a GC, a false positive
|
||||
// will start a GC needlessly. Neither have correctness issues.
|
||||
func shouldtriggergc() bool {
|
||||
return memstats.heap_alloc+memstats.heap_alloc/triggerratio >= memstats.next_gc && atomicloaduint(&bggc.working) == 0
|
||||
return memstats.heap_alloc+memstats.heap_alloc*3/4 >= memstats.next_gc && atomicloaduint(&bggc.working) == 0
|
||||
}
|
||||
|
||||
// Allocate an object of size bytes.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue