From: Vladimir Sadov Date: Fri, 17 Jan 2020 13:20:10 +0000 (-0800) Subject: revert CPU clipping to 3.0, 2.x behavior (#1851) X-Git-Tag: submit/tizen/20210909.063632~10364 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2c1a8b325f55a80daf0fec26d9d660a3899311a;p=platform%2Fupstream%2Fdotnet%2Fruntime.git revert CPU clipping to 3.0, 2.x behavior (#1851) --- diff --git a/src/coreclr/src/classlibnative/bcltype/system.cpp b/src/coreclr/src/classlibnative/bcltype/system.cpp index 402a215..1862114 100644 --- a/src/coreclr/src/classlibnative/bcltype/system.cpp +++ b/src/coreclr/src/classlibnative/bcltype/system.cpp @@ -352,6 +352,13 @@ INT32 QCALLTYPE SystemNative::GetProcessorCount() processorCount = systemInfo.dwNumberOfProcessors; } +#ifdef FEATURE_PAL + uint32_t cpuLimit; + + if (PAL_GetCpuLimit(&cpuLimit) && cpuLimit < (uint32_t)processorCount) + processorCount = cpuLimit; +#endif + END_QCALL; return processorCount; diff --git a/src/coreclr/src/pal/src/thread/process.cpp b/src/coreclr/src/pal/src/thread/process.cpp index 7333890..49c1291 100644 --- a/src/coreclr/src/pal/src/thread/process.cpp +++ b/src/coreclr/src/pal/src/thread/process.cpp @@ -2547,6 +2547,12 @@ PAL_GetCPUBusyTime( { return 0; } + + UINT cpuLimit; + if (PAL_GetCpuLimit(&cpuLimit) && cpuLimit < dwNumberOfProcessors) + { + dwNumberOfProcessors = cpuLimit; + } } if (getrusage(RUSAGE_SELF, &resUsage) == -1) diff --git a/src/coreclr/src/utilcode/util.cpp b/src/coreclr/src/utilcode/util.cpp index 80cd00f..d3b3c74 100644 --- a/src/coreclr/src/utilcode/util.cpp +++ b/src/coreclr/src/utilcode/util.cpp @@ -1289,6 +1289,10 @@ int GetCurrentProcessCpuCount() #else // !FEATURE_PAL count = PAL_GetLogicalCpuCountFromOS(); + + uint32_t cpuLimit; + if (PAL_GetCpuLimit(&cpuLimit) && cpuLimit < count) + count = cpuLimit; #endif // !FEATURE_PAL cCPUs = count;