On Thu, Apr 24, 2025 at 5:52 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> Changes for v3:
>
> - Fix initialization of elf in sysprof_init_dwfl
> (previously triggered -Wmaybe-uninitialized).
>
> * * *
>
> Remove the code from src/stacktrac
On Thu, Apr 24, 2025 at 5:53 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> Changes for v3:
>
> - use const void *stack, not void *, to allow users
> to pass a const stack sample
>
> Changes for v2:
>
> - use renamed __libdwfl_set_initial_re
On Thu, Apr 24, 2025 at 5:49 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> * * *
>
> Initial minimal change to ensure dwflst_tracker_find_pid is
> tested. For now, we keep the additional dwfltab implementation in
> stacktrace.c, since it's be
On Thu, Apr 24, 2025 at 5:49 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> Changes for v2:
>
> - Add locking for dwfltab.
>
> * * *
>
> New function that retrieves the Dwfl for a particular PID, or,
> if the Dwfl is absent, creates it via a p
On Thu, Apr 24, 2025 at 5:52 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> Changes for v3:
>
> - Handle dwfl->process == NULL case in __libdwfl_remove_dwfl_from_tracker.
>
> * * *
>
> The Dwflst_Process_Tracker also includes a dynamicsizehash
On Thu, Apr 24, 2025 at 5:50 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> * * *
>
> * src/Makefile.am (AM_CPPFLAGS): Include headers from
> ../libdwfl_stacktrace.
> * src/stacktrace.c (tracker): New global variable.
> (sample_callbacks):
On Thu, Apr 24, 2025 at 5:52 PM Serhei Makarov wrote:
>
> Changes for v5:
>
> - Bugfixes in dwflst_tracker_find_elf.c.
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> - dwfl_module_getdwarf.c now uses the dwflst_tracker_cache_elf()
> interface instead of editing the
On Thu, Apr 24, 2025 at 5:48 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> * * *
>
> New data structure to coordinate caching Elf data among multiple Dwfl
> structs attached to different processes. Meant to reduce the overhead
> for profilers
On Thu, Apr 24, 2025 at 5:50 PM Serhei Makarov wrote:
>
> Changes for v5:
>
> - Separate ELFUTILS_0.193_EXPERIMENTAL namespace, mark library experimental.
>
> Changes for v4:
>
> - Separate out libdwfl_stacktrace, as requested.
>
> Changes for v2:
>
> - guard the linux/perf_events.h include proper
On Thu, Apr 24, 2025 at 5:48 PM Serhei Makarov wrote:
>
> Changes for v4:
>
> - Since __libdwfl_set_initial_registers_thread is now private to
> libdwfl, the modified code in this patch has been disabled.
>
> * * *
>
> Dummy commit to show how the sample_set_initial_registers callback in
> eu-st
On Thu, Apr 24, 2025 at 5:48 PM Serhei Makarov wrote:
>
> Changes for v2:
>
> - No longer exposing this in public libdwfl.h api.
>
> * * *
>
> Renaming pid_set_initial_registers to
> __libdwfl_set_initial_registers_thread and adding to libdwflP.h.
>
> This callback was private to one file, but now
On Thu, Apr 24, 2025 at 5:49 PM Serhei Makarov wrote:
>
> Changes for v2:
>
> - Merged commit 11 into commit 1 (both sample_base_addr/sample_pc and
> set_initial_registers_sample make sense to introduce in the same
> commit).
>
> - Added i386 backend and factored out common code.
>
> * * *
>
>
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
Changes for v3:
- use const void *stack, not void *, to allow users
to pass a const stack sample
Changes for v2:
- use renamed __libdwfl_set_initial_registers_thread
- oops, should use provided sample_arg->perf_regs_mask
in
On Thu, Apr 24, 2025, at 5:47 PM, Serhei Makarov wrote:
> Changes
Sorry, this one (with 07/14 in the title) was accidentally mixed in with the v5
submission. It's from a draft copy generated with an earlier git send-email
command, please ignore.
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
Changes for v3:
- Fix initialization of elf in sysprof_init_dwfl
(previously triggered -Wmaybe-uninitialized).
* * *
Remove the code from src/stacktrace.c that is now covered by
libdwfl_stacktrace/dwflst_perf_frame.c and
dwflst
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
Changes for v3:
- Handle dwfl->process == NULL case in __libdwfl_remove_dwfl_from_tracker.
* * *
The Dwflst_Process_Tracker also includes a dynamicsizehash cache which
maps process ids to Dwfl * (or rather, dwflst_tracker_dwfl_in
Changes for v5:
- Bugfixes in dwflst_tracker_find_elf.c.
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
- dwfl_module_getdwarf.c now uses the dwflst_tracker_cache_elf()
interface instead of editing the elftab directly.
Changes for v3:
- Reworked elftab to incorporate dev/i
Changes for v5:
- Separate ELFUTILS_0.193_EXPERIMENTAL namespace, mark library experimental.
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
Changes for v2:
- guard the linux/perf_events.h include properly with an #if defined __linux__
* * *
Subsequent patches in the series
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
* * *
* src/Makefile.am (AM_CPPFLAGS): Include headers from
../libdwfl_stacktrace.
* src/stacktrace.c (tracker): New global variable.
(sample_callbacks): Use dwflst_tracker_linux_proc_find_elf for
caching.
(sysprof_init_dwf
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
Changes for v2:
- Add locking for dwfltab.
* * *
New function that retrieves the Dwfl for a particular PID, or,
if the Dwfl is absent, creates it via a provided callback
and adds it to the table later, when the PID is confirmed
v
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
* * *
Initial minimal change to ensure dwflst_tracker_find_pid is
tested. For now, we keep the additional dwfltab implementation in
stacktrace.c, since it's being used to track statistics.
In future follow-ups, it will be good to
Changes
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
- dwfl_module_getdwarf.c now uses the dwflst_tracker_cache_elf()
interface instead of editing the elftab directly.
Changes for v3:
- Reworked elftab to incorporate dev/ino into the caching key
(to allow caching module
Changes for v4:
- Separate out libdwfl_stacktrace, as requested.
* * *
New data structure to coordinate caching Elf data among multiple Dwfl
structs attached to different processes. Meant to reduce the overhead
for profilers that use elfutils for unwinding.
The caching is well-justified, as the
Changes for v2:
- No longer exposing this in public libdwfl.h api.
* * *
Renaming pid_set_initial_registers to
__libdwfl_set_initial_registers_thread and adding to libdwflP.h.
This callback was private to one file, but now we need to access it
from the perf_events sampling code as well.
* libd
Changes for v4:
- Since __libdwfl_set_initial_registers_thread is now private to
libdwfl, the modified code in this patch has been disabled.
* * *
Dummy commit to show how the sample_set_initial_registers callback in
eu-stacktrace would use the proper libebl
ebl_set_initial_registers_sample fu
Changes for v2:
- Merged commit 11 into commit 1 (both sample_base_addr/sample_pc and
set_initial_registers_sample make sense to introduce in the same
commit).
- Added i386 backend and factored out common code.
* * *
First patch of a series that reworks eu-stacktrace functionality
into a li
26 matches
Mail list logo