aboutsummaryrefslogtreecommitdiff
path: root/kernel/trace/trace_irqsoff.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace_irqsoff.c')
-rw-r--r--kernel/trace/trace_irqsoff.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
index 7a4dc014b8a..d0c1748b1e2 100644
--- a/kernel/trace/trace_irqsoff.c
+++ b/kernel/trace/trace_irqsoff.c
@@ -165,18 +165,20 @@ check_critical_timing(struct trace_array *tr,
update_max_tr_single(tr, current, cpu);
- if (tracing_thresh) {
- printk(KERN_INFO "(%16s-%-5d|#%d):"
- " %lu us critical section violates %lu us threshold.\n",
- current->comm, current->pid,
- raw_smp_processor_id(),
- latency, nsecs_to_usecs(tracing_thresh));
- } else {
- printk(KERN_INFO "(%16s-%-5d|#%d):"
- " new %lu us maximum-latency critical section.\n",
- current->comm, current->pid,
- raw_smp_processor_id(),
- latency);
+ if (!runqueue_is_locked()) {
+ if (tracing_thresh) {
+ printk(KERN_INFO "(%16s-%-5d|#%d): %lu us critical"
+ " section violates %lu us threshold.\n",
+ current->comm, current->pid,
+ raw_smp_processor_id(),
+ latency, nsecs_to_usecs(tracing_thresh));
+ } else {
+ printk(KERN_INFO "(%16s-%-5d|#%d): new %lu us"
+ " maximum-latency critical section.\n",
+ current->comm, current->pid,
+ raw_smp_processor_id(),
+ latency);
+ }
}
max_sequence++;