[PATCH 0/9] using libdw as an alternative unwinder

Mark Wielaard mark at klomp.org
Sun Mar 18 00:46:03 UTC 2018


On Sat, Mar 17, 2018 at 01:31:44AM +0100, Mark Wielaard wrote:
> On Fri, Mar 16, 2018 at 06:25:03PM +0300, Dmitry V. Levin wrote:
> > As you can see, all these PTRACE_PEEKDATA calls are made for addresses
> > from the same page, one can use a single process_vm_readv call to fetch
> > the whole page.
> 
> That is an interesting idea. I hadn't thought about that. It would
> require the library to speculate that multiple addresses will be
> requested from the same page. In this case that is obviously true
> because those addresses all come from the stack. But that is also
> a problem, because the stack contents will change as soon as the
> program/thread runs again. So it will require some design to know
> when and for how long we should cache a remote process memory page.
> But if we can make that work, then that should safe us a lot of
> syscalls for doing the backtrace.

And it does! Thanks for the suggestion. I proposed a patch for
elfutils here:
https://sourceware.org/ml/elfutils-devel/2018-q1/msg00081.html

Cheers,

Mark


More information about the Strace-devel mailing list