locking, tracing: Annotate tracing locks as raw
The tracing locks can be taken in atomic context and therefore cannot be preempted on -rt - annotate it. In mainline this change documents the low level nature of the lock - otherwise there's no functional difference. Lockdep and Sparse checking will work as usual. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
740969f91e
commit
5389f6fad2
@@ -341,7 +341,7 @@ unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK |
|
||||
TRACE_ITER_GRAPH_TIME | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE;
|
||||
|
||||
static int trace_stop_count;
|
||||
static DEFINE_SPINLOCK(tracing_start_lock);
|
||||
static DEFINE_RAW_SPINLOCK(tracing_start_lock);
|
||||
|
||||
static void wakeup_work_handler(struct work_struct *work)
|
||||
{
|
||||
@@ -960,7 +960,7 @@ void tracing_start(void)
|
||||
if (tracing_disabled)
|
||||
return;
|
||||
|
||||
spin_lock_irqsave(&tracing_start_lock, flags);
|
||||
raw_spin_lock_irqsave(&tracing_start_lock, flags);
|
||||
if (--trace_stop_count) {
|
||||
if (trace_stop_count < 0) {
|
||||
/* Someone screwed up their debugging */
|
||||
@@ -985,7 +985,7 @@ void tracing_start(void)
|
||||
|
||||
ftrace_start();
|
||||
out:
|
||||
spin_unlock_irqrestore(&tracing_start_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&tracing_start_lock, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1000,7 +1000,7 @@ void tracing_stop(void)
|
||||
unsigned long flags;
|
||||
|
||||
ftrace_stop();
|
||||
spin_lock_irqsave(&tracing_start_lock, flags);
|
||||
raw_spin_lock_irqsave(&tracing_start_lock, flags);
|
||||
if (trace_stop_count++)
|
||||
goto out;
|
||||
|
||||
@@ -1018,7 +1018,7 @@ void tracing_stop(void)
|
||||
arch_spin_unlock(&ftrace_max_lock);
|
||||
|
||||
out:
|
||||
spin_unlock_irqrestore(&tracing_start_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&tracing_start_lock, flags);
|
||||
}
|
||||
|
||||
void trace_stop_cmdline_recording(void);
|
||||
|
Reference in New Issue
Block a user