From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 235B02C0346 for ; Wed, 16 Oct 2013 02:30:25 +1100 (EST) Message-ID: <1381851009.17841.14.camel@pasglop> Subject: Re: Perf not resolving all symbols, showing 0x7ffffxxx From: Benjamin Herrenschmidt To: Martin Hicks Date: Tue, 15 Oct 2013 10:30:09 -0500 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Cc: Scott Wood , linuxppc-dev@lists.ozlabs.org, Anton Blanchard List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2013-10-15 at 09:59 -0400, Martin Hicks wrote: > I've tracked the start of the strange instruction pointers in 'perf > report' to a commit by Anton: > > commit 75382aa72f06823db7312ad069c3bae2eb3f8548 > Author: Anton Blanchard > Date: Tue Jun 26 01:01:36 2012 +0000 > > powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs > > I don't know enough about PPC to know what's going on, but reverting > the changes to perf_instruction_pointer() gets me reasonable 'perf > report' output with 3.11. This is an e300 core right ? (603...). Do that have an SIAR at all (Scott ?) Cheers, Ben. > Thanks, > mh > > > On Thu, Oct 3, 2013 at 10:21 AM, Martin Hicks wrote: > > Hi, > > > > I've been trying to track down a performance regression that started > > leading up to the v3.6 kernel, and while doing this I've been > > gathering perf data on v3.6-rc and comparing it to v3.11 perf reports > > of the same workload. > > > > With v3.6-rc kernels I get all symbols resolved like this: > > > > # Events: 39K cpu-clock-msecs > > # > > # Overhead Command Shared Object > > Symbol > > # ........ ........... ...................... > > ........................................ > > # > > 9.69% nfsd [kernel.kallsyms] [k] csum_partial > > 5.64% nfsd [kernel.kallsyms] [k] __do_softirq > > 3.12% nfsd [sunrpc] [k] svc_create > > 2.38% nfsd [kernel.kallsyms] [k] __queue_work > > 1.91% nfsd [gianfar_driver] [k] gfar_poll > > 1.73% nfsd [kernel.kallsyms] [k] memset > > 1.54% nfsd [nfsd] [k] nfsd_vfs_read.isra.16 > > 1.40% ksoftirqd/0 [kernel.kallsyms] [k] finish_task_switch.isra.54 > > 1.30% nfsd [kernel.kallsyms] [k] get_page_from_freelist > > 1.21% nfsd [gianfar_driver] [k] gfar_start_xmit > > 1.20% nfsd [sunrpc] [k] svc_xprt_received > > > > > > But when I perf on v3.11 kernels I see a lot of unresolved symbols: > > > > # Events: 69K cpu-clock-msecs > > # > > # Overhead Command Shared Object > > Symbol > > # ........ ............ ..................... > > ................................... > > # > > 73.80% nfsd [unknown] [k] 0x7ffff7fa > > 7.57% nfsd [kernel.kallsyms] [k] csum_partial > > 4.59% kworker/0:1 [unknown] [k] 0x7ffff832 > > 3.76% ksoftirqd/0 [unknown] [k] 0x7ffff96e > > 0.94% kswapd0 [unknown] [k] 0x7ffffcc2 > > 0.92% swapper [unknown] [k] 0x7ffffa54 > > 0.62% nfsd [kernel.kallsyms] [k] __udp4_lib_lookup > > 0.49% nfsd [kernel.kallsyms] [k] ip_append_page > > 0.48% nfsd [kernel.kallsyms] [k] __do_softirq > > 0.36% eventmon [unknown] [k] 0x7ffff9c4 > > 0.32% nfsd [kernel.kallsyms] [k] __getnstimeofday > > > > > > Any ideas? Have I overlooked some necessary kernel config change? > > Does perf need some binary that I may not have installed on this > > embedded platform? > > > > Freescale mpc8379 (e300c4) > > Gcc-4.7.2 uClibC built with ct-ng 1.18.0 > > binutils 2.22 > > > > Thanks, > > mh > > > > -- > > Martin Hicks P.Eng. | mort@bork.org > > Bork Consulting Inc. | +1 (613) 266-2296 > > >