summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorMaoni0 <maonis@microsoft.com>2016-07-02 21:07:23 -0700
committerMaoni0 <maonis@microsoft.com>2016-07-02 21:29:18 -0700
commitd088712003e8d483872754d6b3c72aa2d4443a93 (patch)
tree717c88746ac35be3a4af78235afbedc2bc2bd3c7 /src/vm
parent339d991562c404417bfbc741f7d02e107cadf23d (diff)
downloadcoreclr-d088712003e8d483872754d6b3c72aa2d4443a93.tar.gz
coreclr-d088712003e8d483872754d6b3c72aa2d4443a93.tar.bz2
coreclr-d088712003e8d483872754d6b3c72aa2d4443a93.zip
Added 2 configs for Server GC
complus var GCNoAffinitize or project.json System.GC.NoAffinitize - specify 1/true to disable hard affinity of Server GC threads to CPUs complus var GCHeapCount or project.json System.GC.HeapCount - specify the # of Server GC threads/heaps, must be smaller than the # of logical CPUs the process is allowed to run on, ie, if you don't specifically affinitize your process it means the # of total logical CPUs on the machine; otherwise this is the # of logical CPUs you affinitized your process to.
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/eeconfig.cpp5
-rw-r--r--src/vm/eeconfig.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/vm/eeconfig.cpp b/src/vm/eeconfig.cpp
index 95e3d0c9fe..08938c3719 100644
--- a/src/vm/eeconfig.cpp
+++ b/src/vm/eeconfig.cpp
@@ -240,6 +240,8 @@ HRESULT EEConfig::Init()
iGCForceCompact = 0;
iGCHoardVM = 0;
iGCLOHCompactionMode = 0;
+ iGCHeapCount = 0;
+ iGCNoAffinitize = 0;
#ifdef GCTRIMCOMMIT
iGCTrimCommit = 0;
@@ -973,6 +975,9 @@ HRESULT EEConfig::sync()
#endif
iGCForceCompact = GetConfigDWORD_DontUse_(CLRConfig::UNSUPPORTED_gcForceCompact, iGCForceCompact);
+ iGCNoAffinitize = Configuration::GetKnobBooleanValue(W("System.GC.NoAffinitize"),
+ CLRConfig::UNSUPPORTED_GCNoAffinitize);
+ iGCHeapCount = Configuration::GetKnobDWORDValue(W("System.GC.HeapCount"), CLRConfig::UNSUPPORTED_GCHeapCount);
fStressLog = GetConfigDWORD_DontUse_(CLRConfig::UNSUPPORTED_StressLog, fStressLog) != 0;
fForceEnc = GetConfigDWORD_DontUse_(CLRConfig::UNSUPPORTED_ForceEnc, fForceEnc) != 0;
diff --git a/src/vm/eeconfig.h b/src/vm/eeconfig.h
index 0853455aa3..02342d7e93 100644
--- a/src/vm/eeconfig.h
+++ b/src/vm/eeconfig.h
@@ -692,6 +692,8 @@ public:
int GetGCForceCompact() const {LIMITED_METHOD_CONTRACT; return iGCForceCompact; }
int GetGCRetainVM () const {LIMITED_METHOD_CONTRACT; return iGCHoardVM;}
int GetGCLOHCompactionMode() const {LIMITED_METHOD_CONTRACT; return iGCLOHCompactionMode;}
+ int GetGCHeapCount() const {LIMITED_METHOD_CONTRACT; return iGCHeapCount;}
+ int GetGCNoAffinitize () const {LIMITED_METHOD_CONTRACT; return iGCNoAffinitize;}
#ifdef GCTRIMCOMMIT
@@ -1077,6 +1079,8 @@ private: //----------------------------------------------------------------
int iGCForceCompact;
int iGCHoardVM;
int iGCLOHCompactionMode;
+ int iGCHeapCount;
+ int iGCNoAffinitize;
#ifdef GCTRIMCOMMIT