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

Dmitry V. Levin ldv at altlinux.org
Mon Mar 19 18:58:17 UTC 2018


On Sun, Mar 18, 2018 at 01:46:03AM +0100, Mark Wielaard wrote:
> 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

I've tried the patch with "strace -klibdw", it seems to work as expected,
Thanks!


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20180319/843d44c0/attachment.bin>


More information about the Strace-devel mailing list