Frederic Weisbecker 234da7bcdc sched: Teach might_sleep() about preemptible RCU
In practice, it is harmless to voluntarily sleep in a
rcu_read_lock() section if we are running under preempt rcu, but
it is illegal if we build a kernel running non-preemptable rcu.

Currently, might_sleep() doesn't notice sleepable operations
under rcu_read_lock() sections if we are running under
preemptable rcu because preempt_count() is left untouched after
rcu_read_lock() in this case. But we want developers who test
their changes under such config to notice the "sleeping while
atomic" issues.

So we add rcu_read_lock_nesting to prempt_count() in
might_sleep() checks.

[ v2: Handle rcu-tiny ]
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <1260991265-8451-1-git-send-regression-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-17 09:46:44 +01:00
..
2009-09-21 14:29:21 +02:00
2009-12-14 23:55:34 +01:00
2009-12-15 08:53:10 -08:00
2009-06-24 00:02:38 -04:00
2009-10-29 07:39:25 -07:00
2009-12-06 21:10:56 +01:00
2009-09-18 09:48:52 -07:00
2009-12-14 23:55:33 +01:00
2009-12-14 23:55:33 +01:00
2009-06-16 19:47:48 -07:00
2009-12-14 23:55:34 +01:00
2009-09-19 13:13:17 -07:00
2009-07-24 10:53:29 +02:00
2009-06-18 13:03:56 -07:00
2009-12-09 10:03:07 +01:00
2009-10-26 09:40:30 +01:00
2009-07-12 14:03:27 -07:00
2009-09-23 18:13:10 -07:00
2009-11-02 16:02:39 +01:00
2009-06-18 13:03:55 -07:00