hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/lib/Kconfig.debug
....@@ -897,6 +897,38 @@
897897 is currently disabled). Drivers need to handle this correctly. Some
898898 don't and need to be caught.
899899
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
+
900932 menu "Debug Oops, Lockups and Hangs"
901933
902934 config PANIC_ON_OOPS
....@@ -1315,6 +1347,27 @@
13151347 spin_lock_init()/mutex_init()/etc., or whether there is any lock
13161348 held during task exit.
13171349
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
+
13181371 config LOCKDEP
13191372 bool
13201373 depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT