On Thu, 2009-11-19 at 11:50 -0800, H. Peter Anvin wrote: > > Perhaps we could create another profiler? Instead of calling mcount, > > call a new function: __fentry__ or something. Have it activated with > > another switch. This could make the performance of the function tracer > > even better without all these exceptions. > > > > <function>: > > call __fentry__ > > [...] > > > > Calling the profiler immediately at the entry point is clearly the more > sane option. It means the ABI is well-defined, stable, and independent > of what the actual function contents are. It means that ABI isn't the > normal C ABI (the __fentry__ function would have to preserve all > registers), but that's fine...
mcount already has that requirement (saving all/most regs). Anyway, you are right, we don't care. The tracer should carry the blunt of the load, not the individual callers. -- Steve