summaryrefslogtreecommitdiff
path: root/patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2021-07-07 22:23:55 +0200
committerThomas Gleixner <tglx@linutronix.de>2021-07-07 22:39:49 +0200
commitc8eff2bb1abeaf5d911fd8a66aed24a549f639c4 (patch)
treefcd29fe7e619bd1533fd6a3a1fbffc13fbe709f6 /patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch
parentc6725e2f14b523bba0f8fe4472a07aaf8681ad75 (diff)
downloadlinux-rt-c8eff2bb1abeaf5d911fd8a66aed24a549f639c4.tar.gz
[ANNOUNCE] v5.13-rt1
Dear RT folks! I'm pleased to announce the v5.13-rt1 patch set. Changes since v5.12-rc3-rt3: - Fast forward to v5.13 - Rework of the locking core bits - Rework of large parts of the mm bits. Thanks to Mel Gorman and Vlastimil Babka for picking this up and polishing it with -mm wizardry. - The latest respin of the printk overhaul from John Ogness - Patch queue reordered Known issues - config dependent build fails on ARM (also in plain v5.13) - netconsole triggers WARN. You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v5.13-rt1 The RT patch against v5.13 can be found here: https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.13/patch-5.13-rt1.patch.xz The split quilt queue is available at: https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.13/patches-5.13-rt1.tar.xz Thanks, tglx Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch')
-rw-r--r--patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch b/patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch
new file mode 100644
index 000000000000..d02cf35dff71
--- /dev/null
+++ b/patches/lockdep__selftest__Only_do_hardirq_context_test_for_raw_spinlock.patch
@@ -0,0 +1,61 @@
+Subject: lockdep: selftest: Only do hardirq context test for raw spinlock
+From: Yong Zhang <yong.zhang@windriver.com>
+Date: Mon Apr 16 15:01:56 2012 +0800
+
+From: Yong Zhang <yong.zhang@windriver.com>
+
+On -rt there is no softirq context any more and rwlock is sleepable,
+disable softirq context test and rwlock+irq test.
+
+Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Cc: Yong Zhang <yong.zhang@windriver.com>
+Link: http://lkml.kernel.org/r/1334559716-18447-3-git-send-email-yong.zhang0@gmail.com
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+
+
+---
+ lib/locking-selftest.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+---
+diff --git a/lib/locking-selftest.c b/lib/locking-selftest.c
+index 2d85abac1744..5ff07ae1cc67 100644
+--- a/lib/locking-selftest.c
++++ b/lib/locking-selftest.c
+@@ -2841,6 +2841,7 @@ void locking_selftest(void)
+
+ printk(" --------------------------------------------------------------------------\n");
+
++#ifndef CONFIG_PREEMPT_RT
+ /*
+ * irq-context testcases:
+ */
+@@ -2855,6 +2856,28 @@ void locking_selftest(void)
+ DO_TESTCASE_6x2x2RW("irq read-recursion #2", irq_read_recursion2);
+ DO_TESTCASE_6x2x2RW("irq read-recursion #3", irq_read_recursion3);
+
++#else
++ /* On -rt, we only do hardirq context test for raw spinlock */
++ DO_TESTCASE_1B("hard-irqs-on + irq-safe-A", irqsafe1_hard_spin, 12);
++ DO_TESTCASE_1B("hard-irqs-on + irq-safe-A", irqsafe1_hard_spin, 21);
++
++ DO_TESTCASE_1B("hard-safe-A + irqs-on", irqsafe2B_hard_spin, 12);
++ DO_TESTCASE_1B("hard-safe-A + irqs-on", irqsafe2B_hard_spin, 21);
++
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #1", irqsafe3_hard_spin, 123);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #1", irqsafe3_hard_spin, 132);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #1", irqsafe3_hard_spin, 213);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #1", irqsafe3_hard_spin, 231);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #1", irqsafe3_hard_spin, 312);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #1", irqsafe3_hard_spin, 321);
++
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #2", irqsafe4_hard_spin, 123);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #2", irqsafe4_hard_spin, 132);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #2", irqsafe4_hard_spin, 213);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #2", irqsafe4_hard_spin, 231);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #2", irqsafe4_hard_spin, 312);
++ DO_TESTCASE_1B("hard-safe-A + unsafe-B #2", irqsafe4_hard_spin, 321);
++#endif
+ ww_tests();
+
+ force_read_lock_recursive = 0;