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

From: Ingo Molnar
Date: Thu Jan 26 2012 - 08:55:28 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Thu, 2012-01-26 at 11:28 +0100, Ingo Molnar wrote:
>
> > How much more do we save if we move all of try_module_get() out
> > of line? It still seems a rather thick inline function with
> > preempt section and all. I'd *really* suggest that it should all
> > be uninlined.
> >
>
> Here's the #'s
>
> text data bss dec hex filename
> 7489488 2249584 9719808 19458880 128eb40 vmlinux-prepatch
> text data bss dec hex filename
> 7482458 2248048 9719808 19450314 128c9ca vmlinux-postpatch
> text data bss dec hex filename
> 7477393 2248080 9719808 19445281 128b621 vmlinux-updatedpatch
>
> Thus we get an additional 5k it seems, for a total of 13k savings.
>
> The below patch is what I used. Note, since the tracepoint
> requires the instruction pointer, I created stub versions that
> call a "do_" version of the function to pass in the local
> instruction counter.

Hm, why does this tracepoint include a flat RIP? It's pretty
superfluous as there's various other (orghogonal) ways to get at
the RIP.

If the field is needed for compatibility then lets set it to
zero at the tracepoint level and not burden the module.h
hotpath.

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/