tracing/function-return-tracer: call prepare_ftrace_return by registers

Impact: Optimize a bit the function return tracer

This patch changes the calling convention of prepare_ftrace_return to
pass its arguments by register. This will optimize it a bit and
prepare it to support dynamic tracing.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Frederic Weisbecker 2008-11-12 22:49:23 +01:00 committed by Ingo Molnar
parent 62d59d17a5
commit 1dc1c6adf3
2 changed files with 1 additions and 5 deletions

View File

@ -1217,12 +1217,9 @@ trace_return:
pushl %eax pushl %eax
pushl %ecx pushl %ecx
pushl %edx pushl %edx
movl 0xc(%esp), %eax movl 0xc(%esp), %edx
pushl %eax
lea 0x4(%ebp), %eax lea 0x4(%ebp), %eax
pushl %eax
call prepare_ftrace_return call prepare_ftrace_return
addl $8, %esp
popl %edx popl %edx
popl %ecx popl %ecx
popl %eax popl %eax

View File

@ -95,7 +95,6 @@ unsigned long ftrace_return_to_handler(void)
* Hook the return address and push it in the stack of return addrs * Hook the return address and push it in the stack of return addrs
* in current thread info. * in current thread info.
*/ */
asmlinkage
void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
{ {
unsigned long old; unsigned long old;