lkml.org 
[lkml]   [2009]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 07/10] function-graph: use int instead of atomic for ftrace_graph_active
    From: Steven Rostedt <srostedt@redhat.com>

    Impact: cleanup

    The variable ftrace_graph_active is only modified under the
    ftrace_lock mutex, thus an atomic is not necessary for modification.

    Reported-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    kernel/trace/ftrace.c | 14 +++++++-------
    1 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
    index 6ea5a1a..8e6a0b5 100644
    --- a/kernel/trace/ftrace.c
    +++ b/kernel/trace/ftrace.c
    @@ -3092,7 +3092,7 @@ ftrace_enable_sysctl(struct ctl_table *table, int write,

    #ifdef CONFIG_FUNCTION_GRAPH_TRACER

    -static atomic_t ftrace_graph_active;
    +static int ftrace_graph_active;
    static struct notifier_block ftrace_suspend_notifier;

    int ftrace_graph_entry_stub(struct ftrace_graph_ent *trace)
    @@ -3244,7 +3244,7 @@ int register_ftrace_graph(trace_func_graph_ret_t retfunc,
    mutex_lock(&ftrace_lock);

    /* we currently allow only one tracer registered at a time */
    - if (atomic_read(&ftrace_graph_active)) {
    + if (ftrace_graph_active) {
    ret = -EBUSY;
    goto out;
    }
    @@ -3252,10 +3252,10 @@ int register_ftrace_graph(trace_func_graph_ret_t retfunc,
    ftrace_suspend_notifier.notifier_call = ftrace_suspend_notifier_call;
    register_pm_notifier(&ftrace_suspend_notifier);

    - atomic_inc(&ftrace_graph_active);
    + ftrace_graph_active++;
    ret = start_graph_tracing();
    if (ret) {
    - atomic_dec(&ftrace_graph_active);
    + ftrace_graph_active--;
    goto out;
    }

    @@ -3273,10 +3273,10 @@ void unregister_ftrace_graph(void)
    {
    mutex_lock(&ftrace_lock);

    - if (!unlikely(atomic_read(&ftrace_graph_active)))
    + if (unlikely(!ftrace_graph_active))
    goto out;

    - atomic_dec(&ftrace_graph_active);
    + ftrace_graph_active--;
    unregister_trace_sched_switch(ftrace_graph_probe_sched_switch);
    ftrace_graph_return = (trace_func_graph_ret_t)ftrace_stub;
    ftrace_graph_entry = ftrace_graph_entry_stub;
    @@ -3290,7 +3290,7 @@ void unregister_ftrace_graph(void)
    /* Allocate a return stack for newly created task */
    void ftrace_graph_init_task(struct task_struct *t)
    {
    - if (atomic_read(&ftrace_graph_active)) {
    + if (ftrace_graph_active) {
    t->ret_stack = kmalloc(FTRACE_RETFUNC_DEPTH
    * sizeof(struct ftrace_ret_stack),
    GFP_KERNEL);
    --
    1.6.2.1
    --


    \
     
     \ /
      Last update: 2009-04-06 18:43    [W:4.934 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site