[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1326909412.17534.91.camel@gandalf.stny.rr.com>
Date: Wed, 18 Jan 2012 12:56:52 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Rusty Russell <rusty@...tcorp.com.au>
Subject: Re: [PATCH][GIT PULL][v3.3] tracing: Add header wrappers
event_headers_start.h and event_headers_end.h
On Wed, 2012-01-18 at 13:07 +0100, Ingo Molnar wrote:
> I'd argue that __raise_softirq_irqoff() should not be inline -
> that would solve a whole host of issues. Event tracing is
> enabled in most distros so there's no real overhead argument to
> be made here either - so it's probably a bit faster in fact to
> have this uninlined. What do you think?
Sure, I have no problem moving that out of the header. I don't think
raising a softirq is in that critical a path that it can't be a function
call.
There's only one trace/events header left which is in module.h. Perhaps
we can move __module_get() and try_module_get() out of the header. We
could just move the "if" part out.
extern void inc_module(struct module *module, unsigned long ip);
static inline void __module_get(struct module *module)
{
if (module) {
preempt_disable();
inc_module(module, _THIS_IP_);
preempt_enable();
}
}
static inline void try_module_get(struct module *module)
{
int ret = 1;
if (module) {
preempt_disable();
if (likely(module_is_live(module)))
inc_module(module, _THIS_IP_);
else
ret = 0;
preempt_enable();
}
return ret;
}
---
void inc_module(struct module *module, unsigned long ip)
{
__this_cpu_inc(module->refptr->incs);
trace_module_get(module, ip);
}
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists