Open Bug 1754889 Opened 3 years ago Updated 3 years ago

Allow single-threaded profile buffers, for use in busy and/or time-critical threads

Categories

(Core :: Gecko Profiler, task, P3)

task

Tracking

()

People

(Reporter: mozbugz, Unassigned)

References

Details

As an alternative to bug 1697953 (making the one buffer atomic), we could provide separate single-threaded buffers (with no locking at all), for real-time threads and the busiest thread (probably the main thread). This should eliminate contentions around locks and memory accesses for these lucky threads.

It would probably be technically easier and safer than implementing atomic accesses, but there would still be some complexity to handle the multiple buffers per process, both:

  • during profiling (as part of managing Firefox-wide chunks and freeing the oldest ones, and pre-allocating chunks as needed), and
  • when capturing (to integrate their data in the proper place in the json output).
You need to log in before you can comment on or make changes to this bug.