lkml.org 
[lkml]   [2009]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/4] tracing: move __DO_TRACE out of line
    * Ingo Molnar (mingo@elte.hu) wrote:
    >
    > * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
    >
    > > From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    > >
    > > Mainly simplify linux/tracepoint.h's include dependencies (removes
    > > rcupdate.h), but it can't help with icache locality, since it
    > > definitely moves the code out of line, rather than relying on gcc
    > > to do it.
    >
    > > --- a/include/linux/tracepoint.h
    > > +++ b/include/linux/tracepoint.h
    > > @@ -15,7 +15,6 @@
    > > */
    > >
    > > #include <linux/types.h>
    > > -#include <linux/rcupdate.h>
    >
    > nice!
    >
    > > +#define DEFINE_DO_TRACE(name, proto, args) \
    > > + void __do_trace_##name(struct tracepoint *tp, TP_PROTO(proto)) \
    > > + { \
    >
    > that needs to be marked notrace, otherwise the function tracer
    > becomes noisy. (or even lockupy.)
    >

    I guess I'll have to put it more clearly : I am all for minimizing
    tracepoint header dependency, but I'll be nacking this kind of
    out-of-lining patch. Taking a function call, and moving it out-of-line
    (thus duplicating the function call for nothing) seems *really*
    pointless and will hurt tracer performance.

    If thread_info.h is now so big that it needs a cleanup, I guess we'll
    just have to do it.

    Mathieu

    > Ingo

    --
    Mathieu Desnoyers
    OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68


    \
     
     \ /
      Last update: 2009-04-17 18:13    [W:0.023 / U:0.552 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site