Messages in this thread | | | Date | Thu, 15 May 2008 09:38:07 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [PATCH 2/2] ftrace: support for PowerPC |
| |
On Wed, 14 May 2008, David Miller wrote:
> From: Steven Rostedt <rostedt@goodmis.org> > Date: Wed, 14 May 2008 23:49:44 -0400 > > > +#ifdef CONFIG_FTRACE > > +#ifdef CONFIG_DYNAMIC_FTRACE > > +_GLOBAL(mcount) > > +_GLOBAL(_mcount) > > + stwu r1,-48(r1) > > + stw r3, 12(r1) > > + stw r4, 16(r1) > > + stw r5, 20(r1) > > + stw r6, 24(r1) > > + mflr r3 > > + stw r7, 28(r1) > > + mfcr r5 > > + stw r8, 32(r1) > > + stw r9, 36(r1) > > + stw r10,40(r1) > > + stw r3, 44(r1) > > + stw r5, 8(r1) > > Yikes, that's really expensive.
Well, at least with dynamic ftrace, it's only expensive when tracing is enabled.
> > Can't you do a tail call and let the function you end > up calling do all the callee-saved register pops onto > the stack?
Not sure PPC has such a thing. I'm only a hobby PPC hacker (did it full time in another life). If there is such a way, I'll be happy to Ack any patches.
> > That's what I did on sparc. >
So that was your secret! ;-)
-- Steve
| |