Skip to content

runtime: scheduler testing controls #54475

Open
@prattmic

Description

@prattmic

Today, it is difficult to trigger specific conditions in the scheduler from a high level Go level. This is because certain behaviors or bugs only manifest via certain multi-threaded race conditions that are difficult or impossible to guarantee. As a result, fixes for bugs in the scheduler often either have strange probabilistic tests that try to entice the scheduler into a specific state (and likely degrade quickly), or they go untested entirely because they are too difficult to reproduce.

Scheduler maintainability could be greatly improved through some kind of testing framework that makes it possible to directly achieve some of these states. There are many forms this could take. e.g., the ability to construct a test scheduler with fake Ms, Ps, and Gs whose states can be explicitly transitioned.

Activity

added this to the Backlog milestone on Aug 16, 2022
gopherbot

gopherbot commented on Aug 16, 2022

@gopherbot
Contributor

Change https://go.dev/cl/424254 mentions this issue: runtime: drop function context from traceback

added
NeedsFixThe path to resolution is known, but the work has not been done.
on Aug 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsFixThe path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @prattmic@gopherbot@joedian

        Issue actions

          runtime: scheduler testing controls · Issue #54475 · golang/go