lkml.org 
[lkml]   [2016]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 5/8] powerpc/ftrace: Use generic ftrace_modify_all_code()
    Date
    From: Torsten Duwe <duwe@lst.de>

    Convert powerpc's arch_ftrace_update_code() from its own version to use
    the generic default functionality (without stop_machine -- our
    instructions are properly aligned and the replacements atomic).

    With this we gain error checking and the much-needed function_trace_op
    handling.

    Reviewed-by: Balbir Singh <bsingharora@gmail.com>
    Reviewed-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
    Signed-off-by: Torsten Duwe <duwe@suse.de>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    ---
    arch/powerpc/kernel/ftrace.c | 17 +++++------------
    1 file changed, 5 insertions(+), 12 deletions(-)

    v3: No change.
    v2: No change.

    diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
    index 4505cbfd0e13..62899fbae703 100644
    --- a/arch/powerpc/kernel/ftrace.c
    +++ b/arch/powerpc/kernel/ftrace.c
    @@ -449,20 +449,13 @@ void ftrace_replace_code(int enable)
    }
    }

    +/*
    + * Use the default ftrace_modify_all_code, but without
    + * stop_machine().
    + */
    void arch_ftrace_update_code(int command)
    {
    - if (command & FTRACE_UPDATE_CALLS)
    - ftrace_replace_code(1);
    - else if (command & FTRACE_DISABLE_CALLS)
    - ftrace_replace_code(0);
    -
    - if (command & FTRACE_UPDATE_TRACE_FUNC)
    - ftrace_update_ftrace_func(ftrace_trace_function);
    -
    - if (command & FTRACE_START_FUNC_RET)
    - ftrace_enable_ftrace_graph_caller();
    - else if (command & FTRACE_STOP_FUNC_RET)
    - ftrace_disable_ftrace_graph_caller();
    + ftrace_modify_all_code(command);
    }

    int __init ftrace_dyn_arch_init(void)
    --
    2.5.0
    \
     
     \ /
      Last update: 2016-03-03 06:01    [W:2.224 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site