lkml.org 
[lkml]   [2010]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 1/9] jump label: notifier atomic call chain notrace
    In LTTng, being able to use the atomic notifier from cpu idle entry to
    ensure the tracer flush the last events in the current subbuffer
    requires the rcu read-side to be marked "notrace", otherwise it can end
    up calling back into lockdep and the tracer.

    Also apply to the the die notifier.

    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    Signed-off-by: Jason Baron <jbaron@redhat.com>
    Reviewed-by: Masami Hiramatsu <mhiramat@redhat.com>
    ---
    kernel/notifier.c | 6 +++---
    1 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/kernel/notifier.c b/kernel/notifier.c
    index 2488ba7..88453a7 100644
    --- a/kernel/notifier.c
    +++ b/kernel/notifier.c
    @@ -148,7 +148,7 @@ int atomic_notifier_chain_unregister(struct atomic_notifier_head *nh,
    spin_lock_irqsave(&nh->lock, flags);
    ret = notifier_chain_unregister(&nh->head, n);
    spin_unlock_irqrestore(&nh->lock, flags);
    - synchronize_rcu();
    + synchronize_sched();
    return ret;
    }
    EXPORT_SYMBOL_GPL(atomic_notifier_chain_unregister);
    @@ -178,9 +178,9 @@ int __kprobes __atomic_notifier_call_chain(struct atomic_notifier_head *nh,
    {
    int ret;

    - rcu_read_lock();
    + rcu_read_lock_sched_notrace();
    ret = notifier_call_chain(&nh->head, val, v, nr_to_call, nr_calls);
    - rcu_read_unlock();
    + rcu_read_unlock_sched_notrace();
    return ret;
    }
    EXPORT_SYMBOL_GPL(__atomic_notifier_call_chain);
    --
    1.7.0.1


    \
     
     \ /
      Last update: 2010-04-09 21:53    [W:3.769 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site