Messages in this thread | | | Date | Thu, 10 Jan 2008 18:02:29 -0500 (EST) | From | Steven Rostedt <> | Subject | Re: [RFC PATCH 01/22 -v2] Add basic support for gcc profiler instrumentation |
| |
On Thu, 10 Jan 2008, Jan Kiszka wrote: > > =================================================================== > > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > > +++ linux-compile-i386.git/arch/x86/kernel/mcount-wrapper.S 2008-01-09 14:10:07.000000000 -0500 > > @@ -0,0 +1,25 @@ > > +/* > > + * linux/arch/x86/mcount-wrapper.S > > + * > > + * Copyright (C) 2004 Ingo Molnar > > + */ > > + > > +.globl mcount > > +mcount: > > + cmpl $0, mcount_enabled > > + jz out > > + > > + push %ebp > > + mov %esp, %ebp > > What is the benefit of having a call frame in this trampoline? We used > to carry this in the i386 mcount tracer for Adeos/I-pipe too (it was > derived from the -rt code), but I just successfully tested a removal > patch. Also glibc [1] doesn't include it.
OK, I just tried this out on i386, and it works fine.
> > > + pushl %eax > > + pushl %ecx > > + pushl %edx > > + > > + call __mcount > > I think this indirection should be avoided, just like the 64-bit version > and glibc do.
I also did this too.
> > > + > > + popl %edx > > + popl %ecx > > + popl %eax > > + popl %ebp > > +out: > > + ret >
I'll go try the updates on x86_64 now.
Thanks for the tips!
-- Steve
| |