Re: [RFC] gcc feature request: Moving blocks into sections

Steven Rostedt
2013-08-05T19:09:49Z

On Mon, 2013-08-05 at 11:51 -0700, H. Peter Anvin wrote:
> On 08/05/2013 11:49 AM, Steven Rostedt wrote:
> > On Mon, 2013-08-05 at 11:29 -0700, H. Peter Anvin wrote:
> >
> >> Traps nest, that's why there is a stack. (OK, so you don't want to take
> >> the same trap inside the trap handler, but that code should be very
> >> limited.) The trap instruction just becomes very short, but rather
> >> slow, call-return.
> >>
> >> However, when you consider the cost you have to consider that the
> >> tracepoint is doing other work, so it may very well amortize out.
> >
> > Also, how would you pass the parameters? Every tracepoint has its own
> > parameters to pass to it. How would a trap know what where to get "prev"
> > and "next"?
> >
>
> How do you do that now?
>
> You have to do an IP lookup to find out what you are doing.

??

You mean to do the enabling? Sure, but not after the code is enabled.
There's no lookup. It just calls functions directly.

>
> (Note: I wonder how much the parameter generation costs the tracepoints.)

The same as doing a function call.

-- Steve