diff options
author | Andreas Kling <kling@serenityos.org> | 2021-01-11 09:52:18 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-01-11 11:36:00 +0100 |
commit | 5dafb723700c798bc54515a33a3572e01a092812 (patch) | |
tree | 80692b22f17a44a171282c7c1647ce4e580b99d7 /Demos/DynamicLink | |
parent | f259d96871d66a4e764a43613ab0e9866a22e182 (diff) | |
download | serenity-5dafb723700c798bc54515a33a3572e01a092812.zip |
Kernel+Profiler: Make profiling per-process and without core dumps
This patch merges the profiling functionality in the kernel with the
performance events mechanism. A profiler sample is now just another
perf event, rather than a dedicated thing.
Since perf events were already per-process, this now makes profiling
per-process as well.
Processes with perf events would already write out a perfcore.PID file
to the current directory on death, but since we may want to profile
a process and then let it continue running, recorded perf events can
now be accessed at any time via /proc/PID/perf_events.
This patch also adds information about process memory regions to the
perfcore JSON format. This removes the need to supply a core dump to
the Profiler app for symbolication, and so the "profiler coredump"
mechanism is removed entirely.
There's still a hard limit of 4MB worth of perf events per process,
so this is by no means a perfect final design, but it's a nice step
forward for both simplicity and stability.
Fixes #4848
Fixes #4849
Diffstat (limited to 'Demos/DynamicLink')
0 files changed, 0 insertions, 0 deletions