.. | .. |
---|
897 | 897 | is currently disabled). Drivers need to handle this correctly. Some |
---|
898 | 898 | don't and need to be caught. |
---|
899 | 899 | |
---|
| 900 | +config DEBUG_IRQ_PIPELINE |
---|
| 901 | + bool "Debug IRQ pipeline" |
---|
| 902 | + depends on IRQ_PIPELINE && DEBUG_KERNEL |
---|
| 903 | + help |
---|
| 904 | + Turn on this option for enabling debug checks related to |
---|
| 905 | + interrupt pipelining, like interrupt state consistency and |
---|
| 906 | + proper context isolation between the in-band and oob stages. |
---|
| 907 | + |
---|
| 908 | + If unsure, say N. |
---|
| 909 | + |
---|
| 910 | +config IRQ_PIPELINE_TORTURE_TEST |
---|
| 911 | + bool "Torture tests for IRQ pipeline" |
---|
| 912 | + depends on DEBUG_IRQ_PIPELINE |
---|
| 913 | + select TORTURE_TEST |
---|
| 914 | + default n |
---|
| 915 | + help |
---|
| 916 | + This option provides a kernel module that runs torture tests |
---|
| 917 | + on the IRQ pipeline mechanism. |
---|
| 918 | + |
---|
| 919 | + Say Y here if you want the IRQ pipeline torture tests to run |
---|
| 920 | + when the kernel starts. Say N if you are unsure. |
---|
| 921 | + |
---|
| 922 | +config DEBUG_DOVETAIL |
---|
| 923 | + bool "Debug Dovetail interface" |
---|
| 924 | + depends on DOVETAIL && DEBUG_KERNEL |
---|
| 925 | + select DEBUG_IRQ_PIPELINE |
---|
| 926 | + help |
---|
| 927 | + Turn on this option for enabling debug checks related to |
---|
| 928 | + running a dual kernel configuration, aka dovetailing. This |
---|
| 929 | + option implicitly enables the interrupt pipeline debugging |
---|
| 930 | + features. |
---|
| 931 | + |
---|
900 | 932 | menu "Debug Oops, Lockups and Hangs" |
---|
901 | 933 | |
---|
902 | 934 | config PANIC_ON_OOPS |
---|
.. | .. |
---|
1315 | 1347 | spin_lock_init()/mutex_init()/etc., or whether there is any lock |
---|
1316 | 1348 | held during task exit. |
---|
1317 | 1349 | |
---|
| 1350 | +config DEBUG_HARD_LOCKS |
---|
| 1351 | + bool "Debug hard spinlocks" |
---|
| 1352 | + depends on DEBUG_IRQ_PIPELINE && LOCKDEP && EXPERT |
---|
| 1353 | + help |
---|
| 1354 | + Turn on this option for enabling LOCKDEP for hard spinlock |
---|
| 1355 | + types used in interrupt pipelining. |
---|
| 1356 | + |
---|
| 1357 | + Keep in mind that enabling such feature will ruin the |
---|
| 1358 | + latency figures for any out-of-band code, this is merely |
---|
| 1359 | + useful for proving the correctness of the locking scheme of |
---|
| 1360 | + such code without any consideration for real-time |
---|
| 1361 | + guarantees. You have been warned. |
---|
| 1362 | + |
---|
| 1363 | + If unsure, say N. |
---|
| 1364 | + |
---|
| 1365 | +if DEBUG_HARD_LOCKS |
---|
| 1366 | +comment "WARNING! DEBUG_HARD_LOCKS induces **massive** latency" |
---|
| 1367 | +comment "overhead for the code running on the out-of-band" |
---|
| 1368 | +comment "interrupt stage." |
---|
| 1369 | +endif |
---|
| 1370 | + |
---|
1318 | 1371 | config LOCKDEP |
---|
1319 | 1372 | bool |
---|
1320 | 1373 | depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT |
---|