Messages in this thread | | | Date | Thu, 1 Jun 2017 07:52:04 -0500 | From | Josh Poimboeuf <> | Subject | Re: [RFC PATCH 00/10] x86: undwarf unwinder |
| |
On Thu, Jun 01, 2017 at 02:33:20PM +0200, Jiri Slaby wrote: > On 06/01/2017, 02:17 PM, Peter Zijlstra wrote: > > On Thu, Jun 01, 2017 at 06:58:20AM -0500, Josh Poimboeuf wrote: > >>> Being able to generate more optimal code in the hottest code paths of the kernel > >>> is the _real_, primary upstream kernel benefit of a different debuginfo method - > >>> which has to be weighed against the pain of introducing a new unwinder. But this > >>> submission does not talk about that aspect at all, which should be fixed I think. > >> > >> Actually I devoted an entire one-sentence paragraph to performance in > >> the documentation: > >> > >> The simpler debuginfo format also enables the unwinder to be relatively > >> fast, which is important for perf and lockdep. > >> > >> But I'll try to highlight that a little more. > > > > That's relative to a DWARF unwinder. It doesn't appear to be possible to > > get anywhere near a frame-pointer unwinder due to having to do this > > log(n) lookup for every single frame. > > This is ~ 20 times faster than my DWARF unwinder by a quick measurement > (20000 calls to save_stack_trace via single vfs_write).
Wow! Thanks for quantifying that. Looks like the lookup is indeed the bottleneck as expected.
-- Josh
| |