mirror of
https://github.com/golang/go
synced 2024-11-19 00:34:40 -07:00
runtime: restore scavenger constants
Once and for all. Broken in cl/108640043. I've messed it before. To test scavenger-related changes one needs to alter the constants during final testing. And then it's very easy to submit with the altered constants. LGTM=rsc R=golang-codereviews CC=golang-codereviews, rsc https://golang.org/cl/136720044
This commit is contained in:
parent
21a4bdef2f
commit
b2c43438d2
@ -46,6 +46,8 @@ a comma-separated list of name=val pairs. Supported names are:
|
||||
schedtrace: setting schedtrace=X causes the scheduler to emit a single line to standard
|
||||
error every X milliseconds, summarizing the scheduler state.
|
||||
|
||||
scavenge: scavenge=1 enables debugging mode of heap scavenger.
|
||||
|
||||
The GOMAXPROCS variable limits the number of operating system threads that
|
||||
can execute user-level Go code simultaneously. There is no limit to the number of threads
|
||||
that can be blocked in system calls on behalf of Go code; those do not count against
|
||||
|
@ -2632,10 +2632,15 @@ sysmon(void)
|
||||
G *gp;
|
||||
|
||||
// If we go two minutes without a garbage collection, force one to run.
|
||||
forcegcperiod = 2*60*1e6;
|
||||
forcegcperiod = 2*60*1e9;
|
||||
// If a heap span goes unused for 5 minutes after a garbage collection,
|
||||
// we hand it back to the operating system.
|
||||
scavengelimit = 5*60*1e6;
|
||||
scavengelimit = 5*60*1e9;
|
||||
if(runtime·debug.scavenge > 0) {
|
||||
// Scavenge-a-lot for testing.
|
||||
forcegcperiod = 10*1e6;
|
||||
scavengelimit = 20*1e6;
|
||||
}
|
||||
lastscavenge = runtime·nanotime();
|
||||
nscavenge = 0;
|
||||
// Make wake-up period small enough for the sampling to be correct.
|
||||
|
@ -302,6 +302,7 @@ runtime·tickspersecond(void)
|
||||
return res;
|
||||
}
|
||||
|
||||
#pragma dataflag NOPTR
|
||||
DebugVars runtime·debug;
|
||||
|
||||
static struct {
|
||||
@ -314,6 +315,7 @@ static struct {
|
||||
{"gcdead", &runtime·debug.gcdead},
|
||||
{"scheddetail", &runtime·debug.scheddetail},
|
||||
{"schedtrace", &runtime·debug.schedtrace},
|
||||
{"scavenge", &runtime·debug.scavenge},
|
||||
};
|
||||
|
||||
void
|
||||
|
@ -562,6 +562,7 @@ struct DebugVars
|
||||
int32 gcdead;
|
||||
int32 scheddetail;
|
||||
int32 schedtrace;
|
||||
int32 scavenge;
|
||||
};
|
||||
|
||||
extern bool runtime·precisestack;
|
||||
|
Loading…
Reference in New Issue
Block a user