Messages in this thread | | | Subject | Re: [RFC][PATCH] tracing/module: Move tracepoint out of module.h | From | Steven Rostedt <> | Date | Thu, 26 Jan 2012 09:04:29 -0500 |
| |
[ Added Li who added the original tracepoint ]
On Thu, 2012-01-26 at 14:55 +0100, Ingo Molnar wrote: > * Steven Rostedt <rostedt@goodmis.org> 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.
Perhaps I could use "__builtin_return_address(0)" instead. I'll try that out. That way, we don't burden the module hotpath, and we keep the old behavior.
-- Steve
| |