diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2011-03-16 19:05:29 -0400 |
---|---|---|
committer | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2011-03-16 19:05:29 -0400 |
commit | e6ee1522ebee41af3ea24f20432210aa7b732b81 (patch) | |
tree | 941a5812b1429da0afdaeca57ec36e8a22e56116 /kernel/notifier.c | |
parent | b67a927633d61daaa59e72dc963fa2547efc447d (diff) |
notifier-atomic-call-chain-notrace
notifier atomic call chain notrace
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".
Also apply to the the die notifier.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Masami Hiramatsu <mhiramat@redhat.com>
CC: Jason Baron <jbaron@redhat.com>
CC: mingo@elte.hu
Diffstat (limited to 'kernel/notifier.c')
-rw-r--r-- | kernel/notifier.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/notifier.c b/kernel/notifier.c index 2488ba7eb56..88453a7e56b 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); |