From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751078AbdFAMwH (ORCPT ); Thu, 1 Jun 2017 08:52:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45766 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750952AbdFAMwG (ORCPT ); Thu, 1 Jun 2017 08:52:06 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 91F9C80C0E Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jpoimboe@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 91F9C80C0E Date: Thu, 1 Jun 2017 07:52:04 -0500 From: Josh Poimboeuf To: Jiri Slaby Cc: Peter Zijlstra , Ingo Molnar , x86@kernel.org, linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, Linus Torvalds , Andy Lutomirski , "H. Peter Anvin" Subject: Re: [RFC PATCH 00/10] x86: undwarf unwinder Message-ID: <20170601125204.kzozuzvw3mg37brn@treble> References: <20170601060824.wv2go3adbvx5ptmt@gmail.com> <20170601115819.3twoowcnvtrfzjzr@treble> <20170601121721.lezoecnyah3aic6a@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 01 Jun 2017 12:52:05 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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