Apply SuppressGCAttribute to some SPCL functions.#27369
Apply SuppressGCAttribute to some SPCL functions.#27369AaronRobinsonMSFT merged 2 commits intodotnet:masterfrom
Conversation
|
You can also add it to QueryPerformanceCounter and SystemNative_GetTimestamp. |
|
We're confident adding these because we've looked at the implementations in Windows and know the target functions meet our constraints? |
|
@jkotas I would prefer to scope this only to those methods that I personally vetted in this review. There should be a larger initiative to investigate benefit to those functions and ensure there is value. @stephentoub The |
|
Which part of the guidance do you believe is invalid for QueryPerformanceCounter on Win7? |
|
@jkotas It is more than a few instructions and can call into an external device for the timestamp. Admittedly it isn't blocking, so perhaps my statement is a stronger than it should be. There is no SLA on how long it can occur nor its precise implementation so on older systems it can be much more complex than we currently observe. When I was on the VS profiler team we were informed this was a possibility on older systems. |
|
You can also update the comment on the attribute "/// The eventual public attribute should replace this one: https://github.com/dotnet/corefx/issues/40740". |
|
That is done in #27368 |
Right. I think it should be pretty safe to add this on QueryPerformanceCounter .
There are many things that work in less ideal way on Win7. I am not particularly concerned about the GC pause time being 0.1ms longer on Win7 once in a while. |
Only insert GC_POLL in first morph call.
|
@jkotas I applied to both @stephentoub The implementation of @briansull Please review the JIT changes we spoke about. Thanks. |
Thanks. My question was more general about everything in this PR, not just the two functions Jan mentioned. I just wanted to confirm that we're confident in these cases. It sounds like we are. |
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Apply SuppressGCAttribute to some SPCL functions. (dotnet/coreclr#27369) Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com> * Remove unused methods (dotnet/coreclr#27370) Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com> * Move Matrix3x2/4x4, Plan, and Quaternion to the shared CoreLib partition (#42021) Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com> * Remove Socket.InnerSafeCloseSocket (dotnet/corefx#41888) * Remove Socket.InnerSafeCloseSocket * Move IsInvalid checks in SetHandle function * PR feedback * Remove unnecessary 'SocketPal.' * Remove SafeSocketHandle.SetHandle Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Apply SuppressGCAttribute to some SPCL functions. Only insert GC_POLL in first morph call. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Fixes https://github.com/dotnet/coreclr/issues/27185
/cc @jkoritzinsky @jkotas