@@ -1858,6 +1858,7 @@ void locking_selftest(void)
18581858
18591859 printk (" --------------------------------------------------------------------------\n" );
18601860
1861+ #ifndef CONFIG_PREEMPT_RT_FULL
18611862 /*
18621863 * irq-context testcases:
18631864 */
@@ -1870,6 +1871,28 @@ void locking_selftest(void)
18701871
18711872 DO_TESTCASE_6x2 ("irq read-recursion" , irq_read_recursion );
18721873// DO_TESTCASE_6x2B("irq read-recursion #2", irq_read_recursion2);
1874+ #else
1875+ /* On -rt, we only do hardirq context test for raw spinlock */
1876+ DO_TESTCASE_1B ("hard-irqs-on + irq-safe-A" , irqsafe1_hard_spin , 12 );
1877+ DO_TESTCASE_1B ("hard-irqs-on + irq-safe-A" , irqsafe1_hard_spin , 21 );
1878+
1879+ DO_TESTCASE_1B ("hard-safe-A + irqs-on" , irqsafe2B_hard_spin , 12 );
1880+ DO_TESTCASE_1B ("hard-safe-A + irqs-on" , irqsafe2B_hard_spin , 21 );
1881+
1882+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #1" , irqsafe3_hard_spin , 123 );
1883+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #1" , irqsafe3_hard_spin , 132 );
1884+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #1" , irqsafe3_hard_spin , 213 );
1885+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #1" , irqsafe3_hard_spin , 231 );
1886+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #1" , irqsafe3_hard_spin , 312 );
1887+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #1" , irqsafe3_hard_spin , 321 );
1888+
1889+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #2" , irqsafe4_hard_spin , 123 );
1890+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #2" , irqsafe4_hard_spin , 132 );
1891+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #2" , irqsafe4_hard_spin , 213 );
1892+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #2" , irqsafe4_hard_spin , 231 );
1893+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #2" , irqsafe4_hard_spin , 312 );
1894+ DO_TESTCASE_1B ("hard-safe-A + unsafe-B #2" , irqsafe4_hard_spin , 321 );
1895+ #endif
18731896
18741897 ww_tests ();
18751898
0 commit comments