[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090416234410.GA20513@Krystal>
Date: Thu, 16 Apr 2009 19:44:11 -0400
From: Mathieu Desnoyers <compudj@...stal.dyndns.org>
To: Jeremy Fitzhardinge <jeremy@...p.org>
Cc: Steven Rostedt <rostedt@...dmis.org>, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Theodore Tso <tytso@....edu>,
Arjan van de Ven <arjan@...radead.org>,
Christoph Hellwig <hch@....de>,
Lai Jiangshan <laijs@...fujitsu.com>,
Zhaolei <zhaolei@...fujitsu.com>, Li Zefan <lizf@...fujitsu.com>,
KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
Masami Hiramatsu <mhiramat@...hat.com>,
"Frank Ch. Eigler" <fche@...stic.org>,
Tom Zanussi <tzanussi@...il.com>,
Jiaying Zhang <jiayingz@...gle.com>,
Michael Rubin <mrubin@...gle.com>,
Martin Bligh <mbligh@...gle.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Neil Horman <nhorman@...driver.com>,
Eduard - Gabriel Munteanu <eduard.munteanu@...ux360.ro>,
Pekka Enberg <penberg@...helsinki.fi>
Subject: Re: [PATCH 2/8] tracing: create automated trace defines
* Jeremy Fitzhardinge (jeremy@...p.org) wrote:
> Mathieu Desnoyers wrote:
>> Is your only problem the fact that tracepoints include rcupdate.h ?
>
> No. That was the first roadblock, which caused massive cyclic
> dependencies between includes and consequent failure to define
> everything required. I solved that by pushing __DO_TRACE out of line.
> Everything since then is a separate issue.
>
>> This
>> can easily be solved by moving rcu_read_(un)lock_sched_notrace to a
>> rcu-update-<insert meaningful name here> and include this header in
>> rcupdate.h and tracepoint.h.
>>
> I suppose, but I think pushing __do_trace_##name out of line is cleaner
> anyway. And I think it's very important that tracepoint.h have a
> *absolutely minimal* #include set, so that it can be safely included in
> as many contexts as possible. asm/paravirt.h is complex enough as it
> is, and I really don't want tracepoint bringing in any extra headers at
> all. linux/types.h is about the only acceptable one.
>
>> If by doing these modifications we succeed in keeping the "void"
>> parameters working _and_ make your stuff to compile, I think we would
>> have done something great. :-)
>>
>
> The void issue is irritating, but relatively minor compared to the rest.
> If everything else gets solved except for the need to pass a dummy param
> to no-arg tracepoints, then I think it'll be a generally useful facility.
>
The other point I dislike about the out-of-line approach is that the
tracer will suffer from a pointless supplementary function call at each
event. Given how slow function calls are, at least on x86, I'd prefer
leaving the handler call chain inline, unless there is a very strong
reason not to do so.
I'll come up with a patch that leaves the tracepoint inline, but fixes
the header dependency.
Mathieu
> J
>
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
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