Files
rockchip-kernel/include/linux
Paul E. McKenney b3fbab0571 rcu: Restore checks for blocking in RCU read-side critical sections
Long ago, using TREE_RCU with PREEMPT would result in "scheduling
while atomic" diagnostics if you blocked in an RCU read-side critical
section.  However, PREEMPT now implies TREE_PREEMPT_RCU, which defeats
this diagnostic.  This commit therefore adds a replacement diagnostic
based on PROVE_RCU.

Because rcu_lockdep_assert() and lockdep_rcu_dereference() are now being
used for things that have nothing to do with rcu_dereference(), rename
lockdep_rcu_dereference() to lockdep_rcu_suspicious() and add a third
argument that is a string indicating what is suspicious.  This third
argument is passed in from a new third argument to rcu_lockdep_assert().
Update all calls to rcu_lockdep_assert() to add an informative third
argument.

Also, add a pair of rcu_lockdep_assert() calls from within
rcu_note_context_switch(), one complaining if a context switch occurs
in an RCU-bh read-side critical section and another complaining if a
context switch occurs in an RCU-sched read-side critical section.
These are present only if the PROVE_RCU kernel parameter is enabled.

Finally, fix some checkpatch whitespace complaints in lockdep.c.

Again, you must enable PROVE_RCU to see these new diagnostics.  But you
are enabling PROVE_RCU to check out new RCU uses in any case, aren't you?

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2011-09-28 21:36:37 -07:00
..
2011-05-04 14:08:36 -07:00
2011-07-26 16:49:47 -07:00
2011-07-22 08:25:37 -07:00
2011-07-26 16:49:47 -07:00
2011-07-20 20:47:43 -04:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-08-03 11:30:42 -04:00
2011-08-11 10:36:05 +02:00
2011-07-31 22:05:09 +02:00
2011-07-26 16:49:47 -07:00
2011-05-26 17:12:34 -07:00
2011-07-26 16:49:47 -07:00
2011-08-25 16:25:33 -07:00
2011-08-03 19:06:37 -04:00
2011-07-26 16:49:47 -07:00
2011-07-06 14:44:42 -07:00
2011-07-25 20:57:16 -07:00
2011-07-05 23:42:17 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-05-23 10:47:06 -05:00
2011-05-29 13:03:09 +01:00
2011-05-24 10:21:29 +02:00
2011-05-24 10:21:29 +02:00
2011-07-26 16:49:47 -07:00
2011-06-25 17:29:52 +02:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-08-08 16:08:08 +02:00
2011-07-01 15:34:45 -07:00
2011-06-28 10:48:34 +02:00
2011-05-25 20:43:32 +02:00
2011-07-01 10:37:15 +02:00
2011-05-08 16:41:45 -07:00
2011-07-06 01:56:38 -07:00
2011-07-21 13:47:54 -07:00
2011-07-26 16:49:47 -07:00
2011-06-14 11:30:22 +02:00
2011-05-26 17:12:37 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-05-24 14:33:35 +02:00
2011-04-25 18:14:10 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-09-27 08:12:33 -07:00
2011-07-05 15:26:58 -04:00
2011-07-31 12:18:15 -04:00
2011-07-31 12:18:16 -04:00
2011-07-28 16:19:22 -06:00
2011-08-09 11:27:16 -06:00
2011-07-26 16:49:47 -07:00
2011-05-26 17:12:37 -07:00
2011-05-24 12:10:51 +02:00
2011-07-22 16:14:29 -07:00
2011-07-26 16:49:47 -07:00
2011-07-23 07:56:59 +01:00
2011-05-25 08:39:19 -07:00
2011-07-26 14:50:01 -07:00
2011-07-26 16:49:47 -07:00
2011-06-07 10:02:35 +02:00
2011-07-26 16:49:47 -07:00
2011-07-30 08:44:19 -10:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-25 20:57:11 -07:00
2011-08-03 14:25:22 -10:00
2011-07-26 16:49:47 -07:00
2011-06-15 20:03:59 -07:00
2011-06-27 20:30:08 +02:00
2011-08-23 10:10:38 -07:00
2011-08-23 10:10:38 -07:00
2011-06-07 09:05:42 -07:00
2011-05-30 11:14:16 +09:30
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00