[lkml]   [1996]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Problem: how to identify source code points for latency profiling
>> > what is the point of using __inline__ functions ...
>> >
>> > __inline__ void foo( arg ) {
>> Arg is evaluated once. You don't get burned by nasty macro expansion
>> side effects (especially since we nest inlines 3 deep in places).
>i will use the IP pointer instead of __FILE__ and __LINE__ then, as a
>global identifier for source code points. It's more robust anyways.
>about transforming IP values (code addresses) into symbols later:
>i guess line info is lost or hard to recover. I can do function name
>matching, based on the symbol map [like readprofile], but this isnt enough
>for identifying cli()-s and sti()-s in most cases :((
>so this looks like trouble :( IP values are not human readable enough

Possible solutions:
1) Compile the kernel with -g.
2) create macro wrappers for inline functions, something like
#define foo(x) _foo_(x,__FILE__,__LINE__)
inline _foo_(int, char *, int) {

-- Aaron Ucko (; finger for PGP public key) | httyp!
"That's right," he said. "We're philosophers. We think, therefore we am."
-- Terry Pratchett, _Small Gods_ | Geek Code 3.1 [for explanation, finger]: GCS/M/S/C d- s: a18 C++(+++)>++++ UL++>++++ P++
L++>+++++ E- W(-) N++(+) o+ K- w--- O M@ V-(--) PS++(+++) PE- Y(+) PGP(+) t(+)
!5 X-- R(-) tv-@ b++(+++) DI+ !D-- G++(+++) e->+++++(*) h!>+ r-(--)>+++ y?

 \ /
  Last update: 2005-03-22 13:37    [W:0.016 / U:7.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site