From: David Miller on
From: Arnaldo Carvalho de Melo <acme(a)infradead.org>
Date: Mon, 15 Mar 2010 11:46:58 -0300

> [root(a)doppio linux-2.6-tip]# perf top -s n_tty_write > /tmp/bla
> objdump: '[kernel.kallsyms]': No such file
>
> Now this is what the user gets:
>
> [root(a)doppio linux-2.6-tip]# perf top -s n_tty_write
> Can't annotate n_tty_write: No vmlinux file was found in the path:
> [0] vmlinux
> [1] /boot/vmlinux
> [2] /boot/vmlinux-2.6.33-rc5
> [3] /lib/modules/2.6.33-rc5/build/vmlinux
> [4] /usr/lib/debug/lib/modules/2.6.33-rc5/vmlinux
> [root(a)doppio linux-2.6-tip]#

Arnaldo, if perf top can use the kallsyms to do it's normal task, why
can't it use that for symbol annotations too? Isn't there enough
information available?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Arnaldo Carvalho de Melo on
Em Mon, Mar 15, 2010 at 11:55:26AM -0700, David Miller escreveu:
> From: Arnaldo Carvalho de Melo <acme(a)infradead.org>
> Date: Mon, 15 Mar 2010 11:46:58 -0300
> > [root(a)doppio linux-2.6-tip]# perf top -s n_tty_write > /tmp/bla
> > objdump: '[kernel.kallsyms]': No such file
> >
> > Now this is what the user gets:
> >
> > [root(a)doppio linux-2.6-tip]# perf top -s n_tty_write
> > Can't annotate n_tty_write: No vmlinux file was found in the path:
> > [0] vmlinux
> > [1] /boot/vmlinux
> > [2] /boot/vmlinux-2.6.33-rc5
> > [3] /lib/modules/2.6.33-rc5/build/vmlinux
> > [4] /usr/lib/debug/lib/modules/2.6.33-rc5/vmlinux
> > [root(a)doppio linux-2.6-tip]#
>
> Arnaldo, if perf top can use the kallsyms to do it's normal task, why
> can't it use that for symbol annotations too? Isn't there enough
> information available?

Annotation is done by objdump -dS, that requires an executable file to
do ASM annotation, and one with DWARF info for source code annotation.
What we have with /proc/kallsyms is just the symtab.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: David Miller on
From: Arnaldo Carvalho de Melo <acme(a)infradead.org>
Date: Mon, 15 Mar 2010 16:21:26 -0300

> Em Mon, Mar 15, 2010 at 11:55:26AM -0700, David Miller escreveu:
>> Arnaldo, if perf top can use the kallsyms to do it's normal task, why
>> can't it use that for symbol annotations too? Isn't there enough
>> information available?
>
> Annotation is done by objdump -dS, that requires an executable file to
> do ASM annotation, and one with DWARF info for source code annotation.
> What we have with /proc/kallsyms is just the symtab.

Ok, I really think we should link with libopcodes or similar so we can
handle the simple assembler annotation case without requiring the
kernel image being available.

That's what I was trying to achieve when I sent you the report
:-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Ingo Molnar on

* David Miller <davem(a)davemloft.net> wrote:

> From: Arnaldo Carvalho de Melo <acme(a)infradead.org>
> Date: Mon, 15 Mar 2010 16:21:26 -0300
>
> > Em Mon, Mar 15, 2010 at 11:55:26AM -0700, David Miller escreveu:
> >> Arnaldo, if perf top can use the kallsyms to do it's normal task, why
> >> can't it use that for symbol annotations too? Isn't there enough
> >> information available?
> >
> > Annotation is done by objdump -dS, that requires an executable file to do
> > ASM annotation, and one with DWARF info for source code annotation. What
> > we have with /proc/kallsyms is just the symtab.
>
> Ok, I really think we should link with libopcodes or similar so we can
> handle the simple assembler annotation case without requiring the kernel
> image being available.
>
> That's what I was trying to achieve when I sent you the report
> :-)

i'd really like that to happen - i.e. if we had the kernel (and modules) image
exposed as a (almost-)standard ELF object via /sys or so.

We already have some aspects of that, via /sys/kernel/notes, but it should be
done for real. That would also make build-id support less of a hack.

( I'd not include CFI debuginfo in there though - that would be way too large.
More compressed debuginfo could be included perhaps. )

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: David Miller on
From: Ingo Molnar <mingo(a)elte.hu>
Date: Tue, 16 Mar 2010 10:55:23 +0100

> So exposing a virtual ELF image via /sys (or /proc/kernel.so) wouldnt take up
> much more RAM and would be rather useful, right?

Absolutely agreed.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/