[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D077EDE.8090005@cisco.com>
Date: Tue, 14 Dec 2010 07:27:42 -0700
From: "David S. Ahern" <daahern@...co.com>
To: Arnaldo Carvalho de Melo <acme@...stprotocols.net>
CC: linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] perf tools: Add symfs option for off-box analysis
using specified tree
On 12/14/10 05:52, Arnaldo Carvalho de Melo wrote:
> Em Tue, Dec 14, 2010 at 10:24:28AM -0200, Arnaldo Carvalho de Melo escreveu:
>> Em Thu, Dec 09, 2010 at 01:27:07PM -0700, David Ahern escreveu:
>>> The symfs argument allows analysis of perf.data file using a locally
>>> accessible filesystem tree with debug symbols - e.g., tree created
>>> during image builds, sshfs mount, loop mounted KVM disk images,
>>> USB keys, initrds, etc. Anything with an OS tree can be analyzed from
>>> anywhere without the need to populate a local data store with
>>> build-ids.
>>>
>>> Signed-off-by: David Ahern <daahern@...co.com>
>>>
>>> v2 --> v3: handle symfs="/"
>>
>> [acme@...icio ~]$ ./realpath /..//.
>> /
>> [acme@...icio ~]$
>>
>> I'll fix this up and merge, thanks!
I was not aware of realpath. Simple change to symbol__init?
>
> Ok, there are still some problems:
>
> It is escaping the symfs jail for /home/acme/bin/perf, /lib64/libpthread-2.5.so
> and kernel modules, investigating...
>
> - Arnaldo
>
> [acme@...a linux]$ find /tmp/bla
> /tmp/bla
> /tmp/bla/lib64
> /tmp/bla/lib64/libc-2.5.so
> [acme@...a linux]$ perf report -v -g none --stdio --symfs /tmp/bla > /tmp/out
> Looking at the vmlinux_path (3 entries long)
> Failed to open [kernel.kallsyms], continuing without symbols
> dso__synthesize_plt_symbols: problems reading /home/acme/bin/perf PLT info.
> dso__synthesize_plt_symbols: problems reading /lib64/libpthread-2.5.so PLT info.
> dso__synthesize_plt_symbols: problems reading /lib/modules/2.6.37-rc3-00084-gd937616/kernel/drivers/net/ixgbe/ixgbe.ko PLT info.
> [acme@...a linux]$ cat /tmp/out
strace -e trace=open /tmp/build-perf/perf report -v --symfs /tmp/f14-mnt
-i /tmp/perf-cs.data
does not show any attempts to open a file not starting with the symfs path.
At the top of dso__synthesize_plt_symbols() is:
snprintf(name, sizeof(name), "%s%s",
symbol_conf.symfs, self->long_name);
fd = open(name, O_RDONLY);
so the open only gets the relative path.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists