summaryrefslogtreecommitdiff
path: root/src/vm/comthreadpool.h
AgeCommit message (Collapse)AuthorFilesLines
2019-05-14Fix a contract violation in ThreadPool.get_CompletedWorkItemCount (#24535)Koundinya Veluri1-1/+1
Fix a contract violation in ThreadPool.get_CompletedWorkItemCount Fixes https://github.com/dotnet/coreclr/issues/24515 - Looks like the path that acquires the thread store lock has code that is marked witH GC_TRIGGERS - Changed ThreadPool.get_CompletedWorkItemCount and Monitor.get_LockContentionCount to use QCalls instead of FCalls
2019-04-19Implement APIs for some threading metrics (CoreCLR) (#24113)Koundinya Veluri1-0/+3
Implement APIs for some threading metrics (CoreCLR) API review: https://github.com/dotnet/corefx/issues/35500
2018-02-28Delete unnecesary StackCrawlMarks (#16648)Jan Kotas1-7/+2
CAS leftovers
2017-10-16Reduce Timer lock contentionStephen Toub1-1/+1
Timer currently uses a global lock to protect a single "queue" of Timers, and any operation to create/change/fire/delete a Timer takes that same lock. This leads to a scalability problem for code that operates on lots of timers. This change partitions this single queue into N queues, which all operate independently. In the .NET Framework implementation, there's already logically such a split with one queue/lock per AppDomain, and this change utilizes the same underlying support in the runtime. As such, contention is distributed across the N locks, helping scalability.
2017-05-17Finish deleting dead CAS code from CoreLib (#11436)Jan Kotas1-4/+0
Fixes #9321 and deletes CleanupToDoList.cs Delete unmanaged security implementation
2017-03-05Remove hosting methods that always return false (#9930)Austin Wise1-2/+0
* Remove CLRIoCompletionHosted as it always returns false. * Remove CLRSyncHosted as it always returns false. * Remove CLRMemoryHosted as it always returns false. * Remove CLRTaskHosted as it always returns false. * Remove CLRAssemblyHosted, CLRGCHosted,and CLRSecurityHosted. They are not called. * Remove IsThreadPoolHosted as it always returns false. * Remove EnterRuntime and LeaveRuntime, as they do nothing. * Add back calls to RevertIfImpersonated and GCX_PREEMP. I accidentally deleted the call to RevertIfImpersonated instead of just removing an extra parameter. When I removed the HR_LEAVE_RUNTIME_HOLDER macro from windowsruntime.h, I not only removed a LeaveRuntimeHolder but also a GCX_PREEMP. So I added it back. The holder and GCX_PREEMP where only inserted when the FEATURE_LEAVE_RUNTIME_HOLDER macro was defined. Since it is always defined, I removed it. Also as I understand it, you would always want to have a GCX_PREEMP before calling into the Windows API as not to block the GC, so I'm not sure why you would want to disable it.
2016-01-27Update license headersdotnet-bot1-4/+3
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot1-0/+84
[tfs-changeset: 1407945]