|
@@ -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
|