Skip to content

Support EEVDF #2

@binwon-Song

Description

@binwon-Song

Problem Statement

The current perf trace viewer works correctly with the CFS (Completely Fair Scheduler).
However, the default scheduling policy in modern Linux kernels has changed to EEVDF (Earliest Eligible Virtual Deadline First).

Unlike CFS, which relies on virtual runtime (vruntime), EEVDF uses virtual deadlines for scheduling decisions.
As a result, the perf trace viewer does not work correctly on systems using EEVDF.
In fact, it has been confirmed that the tool works under EEVDF only when the parsing logic for vruntime is removed.

Proposed Solution

After inspecting the perf sched parameters and the header of the perf.data file, it appears that virtual deadline information is not currently included.
To address this, we propose the following approach:

  • Detect the system's default scheduling policy or kernel version at runtime.

  • Based on the detected scheduler, dynamically switch the parsing logic:

  • For CFS: Parse vruntime as usual.

  • For EEVDF: Skip vruntime parsing or implement support for virtual deadlines, if such information becomes available in the future.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions