[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tsp-devel] suppression des STRACE_IO
From: |
eric.noulard |
Subject: |
[Tsp-devel] suppression des STRACE_IO |
Date: |
Tue, 4 Apr 2006 15:00:24 +0100 |
Est-ce que quelqu'un voit un inconvénient à la
suppression des STRACE_IO.
Je trouve que finalement ça alourdi le code et c'est
peu utile?
(même si je trouvais l'idée très bonne au départ soyions clairs)
D'autant que suite à une échange de mail avec Fred avec GCC on
a d'autres moyens de tracer les appels de fonctions:
http://en.wikipedia.org/wiki/Performance_analysis
et notamment l'option: -finstrument-functions
cf
http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Code-Gen-Options.html#Code-Gen-Options
>>>>>>>>>
-finstrument-functions
Generate instrumentation calls for entry and exit to functions. Just after
function entry and just before function exit, the following profiling functions
will be called with the address of the current function and its call site. (On
some platforms, __builtin_return_address does not work beyond the current
function, so the call site information may not be available to the profiling
functions otherwise.)
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
The first argument is the address of the start of the current function,
which may be looked up exactly in the symbol table.
This instrumentation is also done for functions expanded inline in other
functions. The profiling calls will indicate where, conceptually, the inline
function is entered and exited. This means that addressable versions of such
functions must be available. If all your uses of a function are expanded
inline, this may mean an additional expansion of code size. If you use `extern
inline' in your C code, an addressable version of such functions must be
provided. (This is normally the case anyways, but if you get lucky and the
optimizer always expands the functions inline, you might have gotten away
without providing static copies.)
A function may be given the attribute no_instrument_function, in which case
this instrumentation will not be done. This can be used, for example, for the
profiling functions listed above, high-priority interrupt routines, and any
functions from which the profiling functions cannot safely be called (perhaps
signal handlers, if the profiling routines generate output or allocate memory).
>>>>>>>>>>
---
Eric Noulard - Software Architect
BT Consulting & Systems Integration
tel: (+33) (0)534 604970
mob: (+33) (0)607 948100
web: www.bt.com/consulting
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Tsp-devel] suppression des STRACE_IO,
eric.noulard <=