Re: [RFC][PATCH] tracing/module: Move tracepoint out of module.h

From: Ingo Molnar
Date: Tue Jan 31 2012 - 07:20:48 EST



* Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:

> On Mon, 30 Jan 2012 06:52:13 -0500, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > On Fri, 2012-01-27 at 13:32 +1030, Rusty Russell wrote:
> > > On Thu, 26 Jan 2012 19:39:46 +0100, Ingo Molnar <mingo@xxxxxxx> wrote:
> > > > Ok, i like this one best. Rusty, does it look good to you too?
> > >
> > > No, the if (module) test belongs in the inline wrapper (since gcc knows
> > > that at compile time).
> >
> > For some reason though it still adds 5K when we keep the
> > code as a static inline. Note, my test config does have all
> > the necessary modules to boot the box as compiled in (not as
> > modules). If necessary, I could compile with a distro config
> > and see what the differences are with that.
> >
> > Rusty, the final decision is yours. If you believe that the
> > added code size is worth having the static inlines, then
> > I'll go back to the previous version that had that.
>
> Wow, we're really bikeshedding this!

Hey, I don't think this is bikesheddig: we are shedding
*kilobytes* of code from pretty hot codepaths, that kind of
topic does deserve some detailed attention :-)

> I was completely wrong with the "it's usually a constant" of
> course; it's usually ->owner.
>
> So let's just out-of-line the entire thing. I changed the
> type to bool and s/_THIS_IP_/_RET_IP_/ -- is that sufficient?
>
> Doesn't save me much here, though. What are your stats?

I suspect it depends on inlining options in the .config plus on
event tracing?

> Saves only 400 bytes of text here, but I don't do preempt or
> tracepoints.

Most distro kernels do tracepoints so I guess that's where the
size delta comes from :-) In any case:

Acked-by: Ingo Molnar <mingo@xxxxxxx>

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/