-
Notifications
You must be signed in to change notification settings - Fork 1
Description
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.