Closed Bug 1753305 Opened 2 years ago Closed 2 years ago

Add profiler markers for thread wakeups.

Categories

(Core :: Gecko Profiler, task, P3)

task

Tracking

()

RESOLVED FIXED
99 Branch
Tracking Status
firefox99 --- fixed

People

(Reporter: florian, Assigned: florian)

References

Details

Attachments

(1 file)

I would like to see when a thread wakes up, as that's impossible to know from the periodic stack sampling, and Runnable markers are not enough (some threads don't use runnables).

It would be even nicer to know which CPU core was used to schedule the wake up, to be able to check if messages we send to threads or processes cause cores to wake up. This information is easy to get on Windows and Linux, and I found a way on Macs with Intel CPUs, but for M1 Macs I haven't found anything.

On Mac the Quality of Service of a task is what's used to decide on which kind of core (performance or efficiency) the task will be scheduled, so I included that information (even though most of our threads currently use the default QoS).

If I can get this data to be reliable, I would like to use this to record telemetry about wakeup counts per thread, and CPU time per thread.

Severity: -- → N/A
Priority: -- → P3
Depends on: 1754519
Attachment #9261991 - Attachment description: Bug 1753305 - Add Wake markers whenever a thread wakes up, r=gerald,mstange. → Bug 1753305 - Add 'Awake' profiler markers whenever a thread is awake, r=gerald.
Pushed by fqueze@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/084ec5de6c39
Add 'Awake' profiler markers whenever a thread is awake, r=gerald.
Blocks: 1755055
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 99 Branch
Blocks: 1756538
Depends on: 1756642
Regressions: 1756791
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: