Re: [PATCH -v4 4/9] tracing: add static function tracer supportfor MIPS

From: Steven Rostedt
Date: Thu Oct 22 2009 - 16:52:21 EST


On Thu, 2009-10-22 at 13:30 -0700, Adam Nemet wrote:
> Maybe scanning the instructions should stop at the beginning of the function
> based on the kernel's symbol table. I am not sure if we can establish any
> other stopping condition without affecting performance too much.

How would we check the kernel symbol table? Remember, this happens at
_every_ function call.

>
> Speaking of performance, -pg also affects the instruction scheduling freedom
> of the compiler in the prologue. With profiling, we limit optimizations not
> to move instructions in and out of the prologue.
>
> Also note that for functions invoked via tail call you won't get an exit
> event. E.g. if bar is tail-called from foo:
>
> foo entered
> bar entered
> foo/bar exited
>
> However, this is not MIPS-specific and you can always disable tail calls
> with -fno-optimize-sibling-calls.

The question is, would bar have a _mcount call? So far, we have not had
any issues with this on either x86 nor PPC.

/me knocks on wood.

-- Steve


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