This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Fix dwarf2 unwinding through futex functions
- From: Roland McGrath <roland at hack dot frob dot com>
- To: Andi Kleen <ak at linux dot intel dot com>
- Cc: Andi Kleen <andi at firstfloor dot org>, libc-alpha at sourceware dot org
- Date: Mon, 7 Oct 2013 16:22:43 -0700 (PDT)
- Subject: Re: [PATCH] Fix dwarf2 unwinding through futex functions
- Authentication-results: sourceware.org; auth=none
- References: <1378770227-13849-1-git-send-email-andi at firstfloor dot org> <20131007225741 dot GF3363 at tassilo dot jf dot intel dot com>
DW_CFA_val_expression was introduced in DWARF 3.
The effect of these subsection uses is to move an unlikely code path out of
the straight line hot path. Making the hot path be straight-line (branch
not taken) is part of the benefit, but moving the slow path away so it is
less likely to pollute I-cache may be a more important benefit. If you
want to change that you need to demonstrate conclusively that you are not
harming performance. In fact, the obvious change would be to change
".subsection 1" to ".section .text.cold", which would move the slow path
code even farther away (the subsection is just the end of the text in the
same .o file, while .text.cold would be all the way at the end of the DSO's
text) so as to make I-cache pollution even less likely.