Commit d902db1e authored by Frederic Weisbecker's avatar Frederic Weisbecker
Browse files

sched: Generalize sleep inside spinlock detection



The sleeping inside spinlock detection is actually used
for more general sleeping inside atomic sections
debugging: preemption disabled, rcu read side critical
sections, interrupts, interrupt disabled, etc...

Change the name of the config and its help section to
reflect its more general role.

Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@elte.hu>
parent e8f7c70f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -409,7 +409,7 @@ cond_resched(); /* Will sleep */

  <para>
   You should always compile your kernel
   <symbol>CONFIG_DEBUG_SPINLOCK_SLEEP</symbol> on, and it will warn
   <symbol>CONFIG_DEBUG_ATOMIC_SLEEP</symbol> on, and it will warn
   you if you break these rules.  If you <emphasis>do</emphasis> break
   the rules, you will eventually lock up your box.
  </para>
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ kernel patches.

12: Has been tested with CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT,
    CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES,
    CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP all simultaneously
    CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_ATOMIC_SLEEP all simultaneously
    enabled.

13: Has been build- and runtime tested with and without CONFIG_SMP and
+1 −1
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ testing purposes. In particular, you should turn on:
 - DEBUG_SLAB can find a variety of memory allocation and use errors; it
   should be used on most development kernels.

 - DEBUG_SPINLOCK, DEBUG_SPINLOCK_SLEEP, and DEBUG_MUTEXES will find a
 - DEBUG_SPINLOCK, DEBUG_ATOMIC_SLEEP, and DEBUG_MUTEXES will find a
   number of common locking errors.

There are quite a few other debugging options, some of which will be
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ Linux カーネルパッチ投稿者向けチェックリスト

12: CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT, CONFIG_DEBUG_SLAB,
    CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES, CONFIG_DEBUG_SPINLOCK,
    CONFIG_DEBUG_SPINLOCK_SLEEP これら全てを同時に有効にして動作確認を
    CONFIG_DEBUG_ATOMIC_SLEEP これら全てを同時に有効にして動作確認を
    行ってください。

13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ Linux

12:已经通过CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT,
    CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES,
    CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP测试,并且同时都
    CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_ATOMIC_SLEEP测试,并且同时都
    使能。

13:已经都构建并且使用或者不使用 CONFIG_SMP 和 CONFIG_PREEMPT测试执行时间。
Loading