summaryrefslogtreecommitdiffstats
path: root/libdwfl/ChangeLog
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2018-03-18 00:24:08 +0100
committerMark Wielaard <[email protected]>2018-03-28 16:30:27 +0200
commitafffdff29228db03e2131af577f58a22aec6c1fe (patch)
tree1de9a2890a9976fbb49c779ec38fa2fe97af02ce /libdwfl/ChangeLog
parentf0d7b3e14779cdf5facede98edc924ef1266b785 (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/ChangeLog11
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