All of lore.kernel.org
 help / color / mirror / Atom feed
From: Franck Bui-Huu <vagabon.xyz@gmail.com>
To: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Franck Bui-Huu <vagabon.xyz@gmail.com>,
	Francis Moreau <francis.moro@gmail.com>,
	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
	linux-perf-users@vger.kernel.org,
	2nddept-manager@sdl.hitachi.co.jp
Subject: Re: perf-probe: issue with latest fedora kernel
Date: Fri, 10 Dec 2010 14:00:01 +0100	[thread overview]
Message-ID: <m3lj3xye9a.fsf@gmail.com> (raw)
In-Reply-To: <4D01E453.3000208@hitachi.com> (Masami Hiramatsu's message of "Fri, 10 Dec 2010 17:26:59 +0900")

Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> writes:

> (2010/12/10 16:53), Franck Bui-Huu wrote:

[...]

>> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
>> index 694f04b..558545e 100644
>> --- a/tools/perf/util/probe-event.c
>> +++ b/tools/perf/util/probe-event.c
>> @@ -114,6 +114,8 @@ static struct symbol *__find_kernel_function_by_name(const char *name,
>>  const char *kernel_get_module_path(const char *module)
>>  {
>>  	struct dso *dso;
>> +	struct map *map;
>> +	const char *vmlinux_name;
>>  
>>  	if (module) {
>>  		list_for_each_entry(dso, &machine.kernel_dsos, node) {
>> @@ -123,14 +125,23 @@ const char *kernel_get_module_path(const char *module)
>>  		}
>>  		pr_debug("Failed to find module %s.\n", module);
>>  		return NULL;
>> -	} else {
>> -		dso = machine.vmlinux_maps[MAP__FUNCTION]->dso;
>> -		if (dso__load_vmlinux_path(dso,
>> -			 machine.vmlinux_maps[MAP__FUNCTION], NULL) < 0) {
>> -			pr_debug("Failed to load kernel map.\n");
>> -			return NULL;
>> -		}
>>  	}
>> +
>> +	map = machine.vmlinux_maps[MAP__FUNCTION];
>> +	dso = map->dso;
>> +
>> +	vmlinux_name = symbol_conf.vmlinux_name;
>> +	if (vmlinux_name) {
>> +		if (dso__load_vmlinux(dso, map, vmlinux_name, NULL) == 0)

BTW, the condition seems wrong, it should have been '<= 0', that is if
an error occured or no symbol was loaded.

>> +			goto found;
>> +		return NULL;
>> +	}
>> +
>> +	if (dso__load_vmlinux_path(dso, map, NULL) < 0) {

This one should be '<= 0' too, since if no symbol is loaded, the image
is probably wrong.

>> +		pr_debug("Failed to load kernel map.\n");
>> +		return NULL;
>> +	}
>> +
>
> Hmm, could you put these changes into an else block?
> Because this part is only for the kernel vmlinux, and
> not for modules.

Ok, I'll do that.

Thanks.
-- 
		Franck

  reply	other threads:[~2010-12-10 13:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-09 15:00 perf-probe: issue with latest fedora kernel Francis Moreau
2010-12-09 15:35 ` Arnaldo Carvalho de Melo
2010-12-09 16:34   ` Francis Moreau
2010-12-10  3:27     ` Masami Hiramatsu
2010-12-10  7:53       ` Franck Bui-Huu
2010-12-10  8:26         ` Masami Hiramatsu
2010-12-10 13:00           ` Franck Bui-Huu [this message]
2010-12-10 13:06             ` [PATCH 1/2] perf-probe: do use the kernel image path given by 'k' option Franck Bui-Huu
2010-12-10 13:07             ` [PATCH 2/2] perf-probe: fail if the kernel image contains no symbol Franck Bui-Huu
2010-12-10  7:30   ` perf-probe: issue with latest fedora kernel Franck Bui-Huu
2010-12-12 14:08     ` Arnaldo Carvalho de Melo
2010-12-12 22:15       ` Franck Bui-Huu
2010-12-13 16:40         ` Arnaldo Carvalho de Melo
2010-12-13 10:02   ` Francis Moreau
2010-12-13 12:58     ` Arnaldo Carvalho de Melo
2010-12-13 13:08       ` Francis Moreau
2010-12-13 14:04         ` Masami Hiramatsu
2010-12-13 14:16           ` Francis Moreau
2010-12-13 19:08             ` Francis Moreau
2010-12-13 14:25           ` Arnaldo Carvalho de Melo
2010-12-13 14:21         ` Arnaldo Carvalho de Melo
2010-12-13 15:11           ` Francis Moreau
2010-12-13 16:40             ` Arnaldo Carvalho de Melo
2010-12-13 19:08               ` Francis Moreau
2010-12-13 19:17                 ` Arnaldo Carvalho de Melo
2010-12-13 19:32                   ` Francis Moreau
2010-12-15  8:57           ` Masami Hiramatsu
2010-12-15 18:53             ` Arnaldo Carvalho de Melo
2010-12-23 13:59             ` Franck Bui-Huu
2010-12-27 20:50               ` Franck Bui-Huu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3lj3xye9a.fsf@gmail.com \
    --to=vagabon.xyz@gmail.com \
    --cc=2nddept-manager@sdl.hitachi.co.jp \
    --cc=acme@ghostprotocols.net \
    --cc=francis.moro@gmail.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.