tree c4b1b43fbe0a4594cb86749b2e7098fe15eb86ba
parent a0a70c735ef714fe1b6777b571630c3d50c7b008
author Frederic Weisbecker <fweisbec@gmail.com> 1227417776 +0100
committer Ingo Molnar <mingo@elte.hu> 1227428246 +0100

tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically

Impact: use deeper function tracing depth safely

Some tests showed that function return tracing needed a more deeper depth
of function calls. But it could be unsafe to store these return addresses
to the stack.

So these arrays will now be allocated dynamically into task_struct of current
only when the tracer is activated.

Typical scheme when tracer is activated:
- allocate a return stack for each task in global list.
- fork: allocate the return stack for the newly created task
- exit: free return stack of current
- idle init: same as fork

I chose a default depth of 50. I don't have overruns anymore.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
