Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 70846ce

Browse files
authored
Disable tiered compilation by default for 2.2 RTM (#20525)
1 parent fd1893f commit 70846ce

File tree

7 files changed

+16
-30
lines changed

7 files changed

+16
-30
lines changed

Documentation/project-docs/clr-configuration-knobs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -770,7 +770,7 @@ Name | Description | Type | Class | Default Value | Flags
770770

771771
Name | Description | Type | Class | Default Value | Flags
772772
-----|-------------|------|-------|---------------|-------
773-
`TieredCompilation` | Enables tiered compilation | `DWORD` | `EXTERNAL` | `1` |
773+
`TieredCompilation` | Enables tiered compilation | `DWORD` | `EXTERNAL` | `0` |
774774
`TieredCompilation_Test_CallCounting` | Enabled by default (only activates when TieredCompilation is also enabled). If disabled immediately backpatches prestub, and likely prevents any tier1 promotion | `DWORD` | `UNSUPPORTED` | `1` |
775775
`TieredCompilation_Test_OptimizeTier0` | Use optimized codegen (normally used by tier1) in tier0 | `DWORD` | `UNSUPPORTED` | `0` |
776776
`TieredCompilation_Tier1CallCountingDelayMs` | Delay in milliseconds since process startup or the last tier 0 JIT before call counting begins for tier 1 promotion. | `DWORD` | `UNSUPPORTED` | `100` |

src/inc/clrconfigvalues.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -650,11 +650,7 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_HillClimbing_GainExponent,
650650
/// Tiered Compilation
651651
///
652652
#ifdef FEATURE_TIERED_COMPILATION
653-
#ifdef _TARGET_ARM64_
654653
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TieredCompilation, W("TieredCompilation"), 0, "Enables tiered compilation")
655-
#else // !_TARGET_ARM64_
656-
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TieredCompilation, W("TieredCompilation"), 1, "Enables tiered compilation")
657-
#endif // _TARGET_ARM64_
658654
RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TieredCompilation_Tier1CallCountThreshold, W("TieredCompilation_Tier1CallCountThreshold"), 30, "Number of times a method must be called after which it is promoted to tier 1.")
659655
RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TieredCompilation_Tier1CallCountingDelayMs, W("TieredCompilation_Tier1CallCountingDelayMs"), 100, "A perpetual delay in milliseconds that is applied to tier 1 call counting and jitting, while there is tier 0 activity.")
660656
RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TieredCompilation_Tier1DelaySingleProcMultiplier, W("TieredCompilation_Tier1DelaySingleProcMultiplier"), 10, "Multiplier for TieredCompilation_Tier1CallCountingDelayMs that is applied on a single-processor machine or when the process is affinitized to a single processor.")

tests/scripts/run-xunit-perf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,8 @@ def main(args):
460460
myEnv['COMPlus_TieredCompilation'] = '0'
461461
elif optLevel == 'full_opt':
462462
myEnv['COMPlus_TieredCompilation'] = '0'
463+
elif optLevel == 'tiered':
464+
myEnv['COMPLUS_TieredCompilation'] = '1'
463465

464466
if not 'XUNIT_PERFORMANCE_MAX_ITERATION' in myEnv:
465467
myEnv['XUNIT_PERFORMANCE_MAX_ITERATION'] = '21'

tests/src/CLRTest.Execute.Bash.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ then
8989
echo "SKIPPING EXECUTION BECAUSE ONE OR MORE OF (COMPlus_JitStress, COMPlus_JitStressRegs, COMPlus_JITMinOpts, COMPlus_TailcallStress) IS SET"
9090
exit $(GCBashScriptExitCode)
9191
fi
92-
if [[ "$COMPlus_TieredCompilation" != "0" ]]
92+
if [[ "$COMPlus_TieredCompilation" != "" && "$COMPlus_TieredCompilation" != "0" ]]
9393
then
94-
echo "SKIPPING EXECUTION BECAUSE COMPlus_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive"
94+
echo "SKIPPING EXECUTION BECAUSE COMPlus_TieredCompilation has been enabled and this test is marked JitOptimizationSensitive"
9595
exit $(GCBashScriptExitCode)
9696
fi
9797
]]></BashCLRTestEnvironmentCompatibilityCheck>

tests/src/CLRTest.Execute.Batch.targets

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,14 @@ IF NOT "%COMPlus_GCStress%"=="" (
7979
<BatchCLRTestEnvironmentCompatibilityCheck Condition="'$(JitOptimizationSensitive)' == 'true'">
8080
<![CDATA[
8181
$(BatchCLRTestEnvironmentCompatibilityCheck)
82-
IF "%COMPlus_JitStress%"=="" IF "%COMPlus_JitStressRegs%"=="" IF "%COMPlus_JITMinOpts%"=="" IF "%COMPlus_TailcallStress%"=="" IF "%COMPlus_TieredCompilation%"=="" goto :Compatible1
83-
ECHO SKIPPING EXECUTION BECAUSE ONE OR MORE OF (COMPlus_JitStress, COMPlus_JitStressRegs, COMPlus_JITMinOpts, COMPlus_TailcallStress, COMPlus_TieredCompilation) IS SET
82+
IF "%COMPlus_JitStress%"=="" IF "%COMPlus_JitStressRegs%"=="" IF "%COMPlus_JITMinOpts%"=="" IF "%COMPlus_TailcallStress%"=="" goto :Compatible1
83+
ECHO SKIPPING EXECUTION BECAUSE ONE OR MORE OF (COMPlus_JitStress, COMPlus_JitStressRegs, COMPlus_JITMinOpts, COMPlus_TailcallStress) IS SET
8484
popd
8585
Exit /b 0
8686
:Compatible1
87+
IF "%COMPlus_TieredCompilation%"=="" goto :Compatible2
8788
IF "%COMPlus_TieredCompilation%"=="0" goto :Compatible2
88-
ECHO SKIPPING EXECUTION BECAUSE COMPlus_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive
89+
ECHO SKIPPING EXECUTION BECAUSE COMPlus_TieredCompilation has been enabled and this test is marked JitOptimizationSensitive
8990
popd
9091
Exit /b 0
9192
:Compatible2

tests/src/performance/Scenario/JitBench/Runner/BenchmarkConfiguration.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ public BenchmarkConfiguration()
1616
public string Name { get; set; }
1717
public Dictionary<string, string> EnvironmentVariables { get; private set; }
1818

19-
public BenchmarkConfiguration WithoutTiering()
19+
public BenchmarkConfiguration WithTiering()
2020
{
21-
return WithModifier("NoTiering", "COMPlus_TieredCompilation", "0");
21+
return WithModifier("Tiering", "COMPlus_TieredCompilation", "1");
2222
}
2323

2424
public BenchmarkConfiguration WithMinOpts()

tests/src/performance/Scenario/JitBench/Runner/Program.cs

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,9 @@ static IEnumerable<BenchmarkConfiguration> GetBenchmarkConfigurations(CommandLin
168168
string r2rEnv = Environment.GetEnvironmentVariable("COMPlus_ReadyToRun");
169169
string noNgenEnv = Environment.GetEnvironmentVariable("COMPlus_ZapDisable");
170170
BenchmarkConfiguration envConfig = new BenchmarkConfiguration();
171-
if(tieredEnv != null && tieredEnv == "0")
171+
if(tieredEnv != null && tieredEnv != "0")
172172
{
173-
envConfig.WithoutTiering();
173+
envConfig.WithTiering();
174174
}
175175
if (minoptsEnv != null && minoptsEnv != "0")
176176
{
@@ -196,25 +196,12 @@ static IEnumerable<BenchmarkConfiguration> GetBenchmarkConfigurations(CommandLin
196196
yield break;
197197
}
198198

199-
// The minopts config name by itself implies without tiering
200-
var minOptsConfig = new BenchmarkConfiguration().WithMinOpts();
201-
string minOptsConfigName = minOptsConfig.Name;
202-
minOptsConfig = minOptsConfig.WithoutTiering();
203-
minOptsConfig.Name = minOptsConfigName;
204-
205199
BenchmarkConfiguration[] possibleConfigs = new BenchmarkConfiguration[]
206200
{
207-
new BenchmarkConfiguration(),
208-
new BenchmarkConfiguration().WithoutTiering(),
209-
minOptsConfig,
210-
new BenchmarkConfiguration().WithMinOpts().WithoutTiering(),
211-
new BenchmarkConfiguration().WithoutTiering().WithMinOpts(),
201+
new BenchmarkConfiguration().WithTiering(),
202+
new BenchmarkConfiguration().WithMinOpts(),
212203
new BenchmarkConfiguration().WithNoR2R(),
213-
new BenchmarkConfiguration().WithNoR2R().WithoutTiering(),
214-
new BenchmarkConfiguration().WithoutTiering().WithNoR2R(),
215-
new BenchmarkConfiguration().WithNoNgen(),
216-
new BenchmarkConfiguration().WithNoNgen().WithoutTiering(),
217-
new BenchmarkConfiguration().WithoutTiering().WithNoNgen()
204+
new BenchmarkConfiguration().WithNoNgen()
218205
};
219206
foreach(string configName in configNames)
220207
{

0 commit comments

Comments
 (0)