Commit b2c43438 authored by Dmitriy Vyukov's avatar Dmitriy Vyukov

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
parent 21a4bdef
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment