Skip to content

Commit bad10ca

Browse files
authored
Merge pull request #93582 from carlossanlop/release/7.0-staging
[manual] Merge release/7.0-staging into release/7.0
2 parents fb39575 + 72a4b26 commit bad10ca

File tree

34 files changed

+549
-213
lines changed

34 files changed

+549
-213
lines changed

NuGet.config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
<clear />
1010
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
1111
<!-- Begin: Package sources from dotnet-emsdk -->
12+
<add key="darc-pub-dotnet-emsdk-9506882" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-95068821/nuget/v3/index.json" />
1213
<add key="darc-pub-dotnet-emsdk-44da825" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-44da825c/nuget/v3/index.json" />
14+
<add key="darc-pub-dotnet-emsdk-6f67d4a" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-6f67d4ab/nuget/v3/index.json" />
1315
<!-- End: Package sources from dotnet-emsdk -->
1416
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
1517
<!--

eng/Version.Details.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Dependencies>
22
<ProductDependencies>
3-
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="7.0.0-rtm.23409.2">
3+
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="7.0.0-rtm.23512.1">
44
<Uri>https://github.com/dotnet/icu</Uri>
5-
<Sha>d7b56b550d4e8319a6851ad2f2544450d521e0ed</Sha>
5+
<Sha>17f1c7cf5247e5ff4d344591ea966334a4f99ff5</Sha>
66
</Dependency>
77
<Dependency Name="System.Net.MsQuic.Transport" Version="7.0.0-alpha.1.22459.1">
88
<Uri>https://github.com/dotnet/msquic</Uri>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@
177177
<MicrosoftNETILLinkTasksVersion>7.0.100-1.23401.1</MicrosoftNETILLinkTasksVersion>
178178
<MicrosoftNETILLinkAnalyzerPackageVersion>$(MicrosoftNETILLinkTasksVersion)</MicrosoftNETILLinkAnalyzerPackageVersion>
179179
<!-- ICU -->
180-
<MicrosoftNETCoreRuntimeICUTransportVersion>7.0.0-rtm.23409.2</MicrosoftNETCoreRuntimeICUTransportVersion>
180+
<MicrosoftNETCoreRuntimeICUTransportVersion>7.0.0-rtm.23512.1</MicrosoftNETCoreRuntimeICUTransportVersion>
181181
<!-- MsQuic -->
182182
<MicrosoftNativeQuicMsQuicVersion>2.2.3</MicrosoftNativeQuicMsQuicVersion>
183183
<SystemNetMsQuicTransportVersion>7.0.0-alpha.1.22459.1</SystemNetMsQuicTransportVersion>

eng/pipelines/coreclr/templates/helix-queues-setup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
6868
- (Alpine.314.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64
6969
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
70-
- (Alpine.314.Amd64)ubuntu.1604.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64
70+
- (Alpine.314.Amd64)ubuntu.2204.amd64.svc@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64
7171

7272
# Linux musl arm32
7373
- ${{ if eq(parameters.platform, 'Linux_musl_arm') }}:

eng/pipelines/libraries/helix-queues-setup.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ jobs:
7171
- (Fedora.34.Amd64.Open)ubuntu.1804.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-34-helix
7272
- Ubuntu.2204.Amd64.Open
7373
- (Debian.11.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-amd64
74-
- (Mariner.1.0.Amd64.Open)ubuntu.1604.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-1.0-helix
75-
- (openSUSE.15.2.Amd64.Open)ubuntu.1604.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.2-helix-amd64
74+
- (Mariner.1.0.Amd64.Open)ubuntu.2204.amd64.open.svc@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-1.0-helix
75+
- (openSUSE.15.2.Amd64.Open)ubuntu.2204.amd64.open.svc@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.2-helix-amd64
7676
- ${{ if or(ne(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
77-
- (Centos.7.Amd64.Open)Ubuntu.1604.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-mlnet-helix
77+
- (Centos.7.Amd64.Open)Ubuntu.2204.Amd64.Open.svc@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-mlnet-helix
7878
- RedHat.7.Amd64.Open
7979
- (Debian.10.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-10-helix-amd64
8080
- Ubuntu.1804.Amd64.Open

eng/pipelines/runtime-wasm-perf.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# UI to this, and thus avoid any scheduled triggers
44

55
trigger: none
6+
pr: none
67

78
variables:
89
- template: /eng/pipelines/common/variables.yml

src/coreclr/inc/clrconfigvalues.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,8 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_UnfairSemaphoreSpinLimit, W("Thread
542542
#else // !TARGET_ARM64
543543
RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_UnfairSemaphoreSpinLimit, W("ThreadPool_UnfairSemaphoreSpinLimit"), 0x46, "Maximum number of spins a thread pool worker thread performs before waiting for work")
544544
#endif // TARGET_ARM64
545+
RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_ThreadPool_ThreadTimeoutMs, W("ThreadPool_ThreadTimeoutMs"), (DWORD)-2, "The amount of time in milliseconds a thread pool thread waits without having done any work before timing out and exiting. Set to -1 to disable the timeout. Applies to worker threads, completion port threads, and wait threads. Also see the ThreadPool_ThreadsToKeepAlive config value for relevant information.", CLRConfig::LookupOptions::ParseIntegerAsBase10)
546+
RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_ThreadPool_ThreadsToKeepAlive, W("ThreadPool_ThreadsToKeepAlive"), 0, "The number of worker or completion port threads to keep alive after they are created. Set to -1 to keep all created worker or completion port threads alive. When the ThreadPool_ThreadTimeoutMs config value is also set, for worker and completion port threads the timeout applies to threads in the respective pool that are in excess of the number configured for ThreadPool_ThreadsToKeepAlive.", CLRConfig::LookupOptions::ParseIntegerAsBase10)
545547

546548
RETAIL_CONFIG_DWORD_INFO(INTERNAL_HillClimbing_Disable, W("HillClimbing_Disable"), 0, "Disables hill climbing for thread adjustments in the thread pool");
547549
RETAIL_CONFIG_DWORD_INFO(INTERNAL_HillClimbing_WavePeriod, W("HillClimbing_WavePeriod"), 4, "");

src/coreclr/inc/safemath.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,10 @@ template<typename T> class ClrSafeInt
688688
INDEBUG( mutable bool m_checkedOverflow; )
689689
};
690690

691+
#if defined(_MSC_VER) && defined(HOST_ARM64) // Workaround for https://github.com/dotnet/runtime/issues/93442
692+
#pragma optimize("", off)
693+
#endif
694+
691695
template <>
692696
inline bool ClrSafeInt<int64_t>::multiply(int64_t lhs, int64_t rhs, int64_t &result)
693697
{
@@ -874,6 +878,10 @@ inline bool ClrSafeInt<uint8_t>::multiply(uint8_t lhs, uint8_t rhs, uint8_t &res
874878
return true;
875879
}
876880

881+
#if defined(_MSC_VER) && defined(HOST_ARM64) // Workaround for https://github.com/dotnet/runtime/issues/93442
882+
#pragma optimize("", on)
883+
#endif
884+
877885
// Allows creation of a ClrSafeInt corresponding to the type of the argument.
878886
template <typename T>
879887
ClrSafeInt<T> AsClrSafeInt(T t)

src/coreclr/vm/comthreadpool.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,34 @@ FCIMPL4(INT32, ThreadPoolNative::GetNextConfigUInt32Value,
192192
case 19: if (TryGetConfig(CLRConfig::INTERNAL_HillClimbing_SampleIntervalHigh, false, W("System.Threading.ThreadPool.HillClimbing.SampleIntervalHigh"))) { return 20; } FALLTHROUGH;
193193
case 20: if (TryGetConfig(CLRConfig::INTERNAL_HillClimbing_GainExponent, false, W("System.Threading.ThreadPool.HillClimbing.GainExponent"))) { return 21; } FALLTHROUGH;
194194

195+
case 21:
196+
{
197+
int threadPoolThreadTimeoutMs = g_pConfig->ThreadPoolThreadTimeoutMs();
198+
if (threadPoolThreadTimeoutMs >= -1)
199+
{
200+
*configValueRef = (UINT32)threadPoolThreadTimeoutMs;
201+
*isBooleanRef = false;
202+
*appContextConfigNameRef = W("System.Threading.ThreadPool.ThreadTimeoutMs");
203+
return 22;
204+
}
205+
206+
FALLTHROUGH;
207+
}
208+
209+
case 22:
210+
{
211+
int threadPoolThreadsToKeepAlive = g_pConfig->ThreadPoolThreadsToKeepAlive();
212+
if (threadPoolThreadsToKeepAlive >= -1)
213+
{
214+
*configValueRef = (UINT32)threadPoolThreadsToKeepAlive;
215+
*isBooleanRef = false;
216+
*appContextConfigNameRef = W("System.Threading.ThreadPool.ThreadsToKeepAlive");
217+
return 23;
218+
}
219+
220+
FALLTHROUGH;
221+
}
222+
195223
default:
196224
*configValueRef = 0;
197225
*isBooleanRef = false;

src/coreclr/vm/eeconfig.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@ HRESULT EEConfig::Init()
225225
bDiagnosticSuspend = false;
226226
#endif
227227

228+
threadPoolThreadTimeoutMs = -2; // not configured
229+
threadPoolThreadsToKeepAlive = 0;
230+
228231
#if defined(FEATURE_TIERED_COMPILATION)
229232
fTieredCompilation = false;
230233
fTieredCompilation_QuickJit = false;
@@ -668,6 +671,19 @@ HRESULT EEConfig::sync()
668671

669672
#endif //_DEBUG
670673

674+
threadPoolThreadTimeoutMs =
675+
(int)Configuration::GetKnobDWORDValue(
676+
W("System.Threading.ThreadPool.ThreadTimeoutMs"),
677+
CLRConfig::EXTERNAL_ThreadPool_ThreadTimeoutMs);
678+
threadPoolThreadsToKeepAlive =
679+
(int)Configuration::GetKnobDWORDValue(
680+
W("System.Threading.ThreadPool.ThreadsToKeepAlive"),
681+
CLRConfig::EXTERNAL_ThreadPool_ThreadsToKeepAlive);
682+
if (threadPoolThreadsToKeepAlive < -1)
683+
{
684+
threadPoolThreadsToKeepAlive = 0;
685+
}
686+
671687
m_fInteropValidatePinnedObjects = (CLRConfig::GetConfigValue(CLRConfig::UNSUPPORTED_InteropValidatePinnedObjects) != 0);
672688
m_fInteropLogArguments = (CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_InteropLogArguments) != 0);
673689

0 commit comments

Comments
 (0)