From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934969AbeAOOp5 (ORCPT + 1 other); Mon, 15 Jan 2018 09:45:57 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:46540 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933521AbeAOOpx (ORCPT ); Mon, 15 Jan 2018 09:45:53 -0500 Date: Mon, 15 Jan 2018 15:45:46 +0100 From: Hendrik Brueckner To: Arnaldo Carvalho de Melo Cc: Thomas-Mich Richter , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, brueckner@linux.vnet.ibm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com Subject: Re: [PATCH v2] perf trace: Fix missing handling of --call-graph dwarf References: <20180112100355.6456-1-tmricht@linux.vnet.ibm.com> <20180112142032.GB9655@kernel.org> <20180112150142.GC9655@kernel.org> <20180112164706.GE9655@kernel.org> <20180112200229.GI9655@kernel.org> <8d20a732-25af-968c-f3a9-1a1336854851@linux.vnet.ibm.com> <20180115135752.GC3542@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180115135752.GC3542@kernel.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 18011514-0008-0000-0000-000004C1EBFF X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18011514-0009-0000-0000-00001E5552E2 Message-Id: <20180115144546.GA4691@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-01-15_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1801150210 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Mon, Jan 15, 2018 at 10:57:52AM -0300, Arnaldo Carvalho de Melo wrote: > Em Mon, Jan 15, 2018 at 01:31:00PM +0100, Thomas-Mich Richter escreveu: > > On 01/12/2018 09:02 PM, Arnaldo Carvalho de Melo wrote: > > > Em Fri, Jan 12, 2018 at 01:47:06PM -0300, Arnaldo Carvalho de Melo escreveu: > > > > [root@jouet ~]# perf trace --no-syscalls --call-graph fp --max-stack 3 -e probe_libc:inet_pton ping -6 -c 1 ::1 > perf trace --no-syscalls --call-graph dwarf --max-stack 3 -e probe_libc:inet_pton ping -6 -c 1 ::1 > PING ::1(::1) 56 data bytes > 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.080 ms > > --- ::1 ping statistics --- > 1 packets transmitted, 1 received, 0% packet loss, time 0ms > rtt min/avg/max/mdev = 0.080/0.080/0.080/0.000 ms > 0.000 probe_libc:inet_pton:(7f33e9647350)) > __inet_pton (inlined) > gaih_inet.constprop.7 (/usr/lib64/libc-2.26.so) > __GI_getaddrinfo (inlined) > [root@jouet ~]# > > And here we see a difference in the fp and DWARF unwinders, have to dig > deeper into this one, perhaps using the DWARF one we have more info and > then can end up with inlines instead of what it calls. DWARF includes information about which functions are inlined. The ORC unwinder data is based on the analysis of the generated instructions (created with the objtool). Hence, it does no (and no longer) know whether a bunch of instructions are originally part of a function or inlined. Thanks and kind regards, Hendrik