Skip to content
This repository was archived by the owner on Nov 1, 2020. It is now read-only.
This repository was archived by the owner on Nov 1, 2020. It is now read-only.

Port normalized equivalent of YieldProcessor from CoreCLR #4430

Closed
dotnet/runtime
#135138

Description

@kouvel

Activity

  1. added this to the Future milestone on Aug 31, 2017
  2. self-assigned this
    on Aug 31, 2017
  3. removed their assignment
    on Sep 14, 2017
  4. kouvel commented on Jun 1, 2018

    @kouvel
    ContributorAuthor

    Nice to have, but it is not clear that it would have any significant impact, not likely to happen until a significant issue is shown to substantiate the work

  5. kouvel commented on Jan 12, 2019

    @kouvel
    ContributorAuthor

    Monitor still does a lot of spinning and porting the CoreCLR's implementation would probably benefit most

  6. reopened this on Jan 12, 2019
  7. Suchiman commented on Jul 3, 2019

    @Suchiman
    Contributor

    @MichalStrehovsky is this fixed?

  8. MichalStrehovsky commented on Jul 3, 2019

    @MichalStrehovsky
    Member

    This is in reference to #7569 (for the future me, since I failed to call this issue out in the pull request).

    I left this open because I'm not sure how important it would be to migrate off of YieldProcessorNormalizedForPreSkylakeCount to the new scheme with YieldProcessorNormalizationInfo.

    E.g. we're not exposing the OptimalMaxSpinWaitsPerSpinIteration on System.Threading.Thread but instead normalize the spin number passed to RhSpinWait. That's not what CoreCLR does and I wasn't sure how much that matters.

    @kouvel would know but he's out right now and this is going to get lost in his mailbox.

  9. kouvel commented on Aug 19, 2019

    @kouvel
    ContributorAuthor

    Switching off of the pre-Skylake spin scheme may also require retuning spin-waits with large spin counts. Where applicable, perhaps that could be done one component at a time in the future along with porting the spin scheme for the component from coreclr. I don't think it's critical though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions