From ef4341c80ef47c76f40c691158756b65c6bd44a5 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 30 Jan 2012 08:46:32 -0800 Subject: [PATCH] --- yaml --- r: 288576 b: refs/heads/master c: c5fdcec927ee31fc96e92339c3a83ac6e0725289 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/lockdep.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c6c4c1aad086..8e535b6363cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0cfbbb0d4fca14b828a7635a59784adfba8989d +refs/heads/master: c5fdcec927ee31fc96e92339c3a83ac6e0725289 diff --git a/trunk/kernel/lockdep.c b/trunk/kernel/lockdep.c index 8889f7dd7c46..ea9ee4518c35 100644 --- a/trunk/kernel/lockdep.c +++ b/trunk/kernel/lockdep.c @@ -4176,7 +4176,13 @@ void lockdep_rcu_suspicious(const char *file, const int line, const char *s) printk("-------------------------------\n"); printk("%s:%d %s!\n", file, line, s); printk("\nother info that might help us debug this:\n\n"); - printk("\nrcu_scheduler_active = %d, debug_locks = %d\n", rcu_scheduler_active, debug_locks); + printk("\n%srcu_scheduler_active = %d, debug_locks = %d\n", + !rcu_lockdep_current_cpu_online() + ? "RCU used illegally from offline CPU!\n" + : rcu_is_cpu_idle() + ? "RCU used illegally from idle CPU!\n" + : "", + rcu_scheduler_active, debug_locks); /* * If a CPU is in the RCU-free window in idle (ie: in the section