[lkml]   [2008]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH 0/5] ftrace updates for tip, and ground work for other architectures

    Patch 2 is a change in dynamic ftrace interface between the generic
    code and the arch dependent code. The original code did not allow
    for the flexibility to handle some architecture limitations. I ran
    into this when trying to port to PPC32 and realized that the
    modules used trampolines to make the jumps to mcount.

    I have successfully ported PPC64 and PPC32 and will send those patches
    out later. But this patch series sets up the ground work for other
    architectures to port dynamic ftrace.

    The main changes to the code is:

    1) I removed the ftarce_modify_code and replaced it with two functions:
    ftrace_make_nop() and ftrace_make_call. The former converts
    the code into a nop. The later converts a nop into a call.

    2) instead of passing just the address and expected and replace in
    I pass in the dynamic ftrace record itself. This allows
    the architecture code save data per record if needed.
    To do this, there is now a dyn_arch_ftrace structure
    in the dyn_ftrace record.

    3) On intialization, ftrace_make_nop gets passed in the module that
    created it or NULL if it is core kernel code. This allows
    the archicecture code do special things for modules, and
    also use the module sturcture to store data for later use
    with the conversions.

    The following patches are in:


    branch: tip/devel

    Steven Rostedt (5):
    ftrace: replace raw_local_irq_save with local_irq_save
    ftrace: pass module struct to arch dynamic ftrace functions
    ftrace: allow NULL pointers in mcount_loc
    ftrace: fix dyn ftrace filter
    ftrace: make filtered functions effective on setting

    arch/x86/include/asm/ftrace.h | 8 ++
    arch/x86/kernel/ftrace.c | 29 +++++++-
    include/linux/ftrace.h | 53 +++++++++++----
    kernel/module.c | 2 +-
    kernel/trace/ftrace.c | 147 ++++++++++++++++++-----------------------
    kernel/trace/trace.c | 4 +-
    kernel/trace/trace_selftest.c | 4 +-
    7 files changed, 145 insertions(+), 102 deletions(-)

     \ /
      Last update: 2008-11-15 22:51    [W:0.021 / U:7.016 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site