From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751199AbdFAOF1 (ORCPT ); Thu, 1 Jun 2017 10:05:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44218 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751078AbdFAOFZ (ORCPT ); Thu, 1 Jun 2017 10:05:25 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 20F18C04B326 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jpoimboe@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 20F18C04B326 Date: Thu, 1 Jun 2017 09:05:18 -0500 From: Josh Poimboeuf To: Ingo Molnar Cc: x86@kernel.org, linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, Linus Torvalds , Andy Lutomirski , Jiri Slaby , "H. Peter Anvin" , Peter Zijlstra Subject: Re: [RFC PATCH 00/10] x86: undwarf unwinder Message-ID: <20170601140518.2fsgz2kp26owulcg@treble> References: <20170601060824.wv2go3adbvx5ptmt@gmail.com> <20170601115819.3twoowcnvtrfzjzr@treble> <20170601135005.zf2lidtgslfvyihs@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20170601135005.zf2lidtgslfvyihs@gmail.com> 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.31]); Thu, 01 Jun 2017 14:05:20 +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 03:50:05PM +0200, Ingo Molnar wrote: > * Josh Poimboeuf wrote: > > On Thu, Jun 01, 2017 at 08:08:24AM +0200, Ingo Molnar 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 not what I meant! The speedup comes from (hopefully) being able to disable > CONFIG_FRAME_POINTER, which: > > - creates simpler/faster function prologues and epilogues - no managing of RBP > needed > > - gives one more generic purpose register to work from. This matters less on > 64-bit kernels but it's a small effect. > > I've seen numbers of 1-2% of instruction count reduction in common kernel > workloads, which would be pretty significant on well cached workloads. Ah, you meant runtime performance with FP disabled. I also dedicated a whole sentence to that one :-) Unlike frame pointers, the debuginfo is out-of-band, so it has no effect on runtime performance. I'll try to flesh that out and maybe come up with some numbers. -- Josh