diff options
| author | Mark Wielaard <[email protected]> | 2018-03-18 00:24:08 +0100 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2018-03-28 16:30:27 +0200 |
| commit | afffdff29228db03e2131af577f58a22aec6c1fe (patch) | |
| tree | 1de9a2890a9976fbb49c779ec38fa2fe97af02ce /libdwfl/ChangeLog | |
| parent | f0d7b3e14779cdf5facede98edc924ef1266b785 (diff) | |
libdwfl: Use process_vm_readv when available.
If possible use process_vm_readv to read 4K blocks instead of fetching
each word individually with ptrace. For unwinding this often means we
only have to do one process_vm_readv of the stack instead of dozens of
ptrace calls. There is one 4K cache per process, cleared whenever a
thread is detached.
Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'libdwfl/ChangeLog')
| -rw-r--r-- | libdwfl/ChangeLog | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 1515c410..9776f1cb 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,14 @@ +2018-03-17 Mark Wielaard <[email protected]> + + * libdwflP.h (struct __libdwfl_remote_mem_cache): New. + (struct __libdwfl_pid_arg): Add mem_cache field. + * linux-pid-attach.c (read_cached_memory): New function. + (clear_cached_memory): Likewise. + (pid_memory_read): Call read_cached_memory. + (pid_detach): Free mem_cache. + (pid_thread_detach): Call clear_cached_memory. + (dwfl_linux_proc_attach): Initialize mem_cache to NULL. + 2018-03-05 Mark Wielaard <[email protected]> * dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Use |
