lkml.org 
[lkml]   [2009]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH] tracing WIP patches
    Date
    Hi,

    Here's the patches I have against the tip/tracing/core. They
    consist of:

    - Move __DO_TRACE out of line, so that the inline code is just an
    if() and a call. This reduces linux/tracepoint.h's include dependencies
    to just <linux/types.h>, which means its safe to include in any context
    at all.

    - Remove the use of the global CREATE_TRACE_POINTS, and institute
    a set of CREATE_subsys_TRACE_POINTS variables to cause targeted
    instantiation of the tracepoint code and data. Without this
    we end up in the situation where one
    #define CREATE_TRACE_POINTS
    #include <trace/events/foo.h>
    instantiates not only foo's events but also bar's, if foo.h ends
    up directly or indirectly including trace/events/bar.h
    Unfortunately it increases the amount of boilerplace in each
    events definition header by a bit.

    - A followup, ot make out-lining __do_trace_##name work for
    direct users of DECLARE_TRACE/DEFINE_TRACE, as DEFINE_TRACE now needs
    a full arg and proto list. This results if fairly ugly wholesale
    duplication of each tracepoint's arg lists. This can be avoided if
    we migrate those users to use TRACE_EVENT(), etc.

    I'll post my pvops patches for comment in a moment. Unfortunately, even
    with all this, I can't get the kernel to link due to duplicate kmem.h
    events...

    J

    arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | 4 +-
    arch/x86/kernel/process.c | 9 +++-
    block/blk-core.c | 56 +++++++++++++++++++++++------
    block/elevator.c | 13 +++++-
    drivers/md/dm.c | 4 +-
    fs/bio.c | 4 +-
    include/linux/tracepoint.h | 33 +++++++++--------
    include/trace/define_trace.h | 10 ++---
    include/trace/events/irq.h | 5 ++
    include/trace/events/kmem.h | 5 ++
    include/trace/events/lockdep.h | 5 ++
    include/trace/events/sched.h | 5 ++
    include/trace/events/skb.h | 6 +++
    include/trace/ftrace.h | 4 +-
    include/trace/instantiate_trace.h | 7 +++
    kernel/irq/handle.c | 2 -
    kernel/lockdep.c | 2 -
    kernel/sched.c | 2 -
    kernel/tracepoint.c | 6 +++
    kernel/workqueue.c | 16 ++++++--
    mm/bounce.c | 4 +-
    mm/util.c | 2 -
    net/core/net-traces.c | 2 -
    samples/trace_events/trace-events-sample.c | 2 -
    samples/trace_events/trace-events-sample.h | 6 +++
    25 files changed, 162 insertions(+), 52 deletions(-)



    \
     
     \ /
      Last update: 2009-04-17 08:39    [W:0.021 / U:31.088 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site