summaryrefslogtreecommitdiff
path: root/patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2022-01-26 17:33:33 +0100
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2022-01-26 17:33:33 +0100
commitdd833c21fde92e3318e3b43c3a239dc9d0a43a00 (patch)
tree47bbb9d64c4d6d182571ecaf97fbd6538d7c920d /patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch
parentb06657798e2003def567a08e959e461019f095bd (diff)
downloadlinux-rt-dd833c21fde92e3318e3b43c3a239dc9d0a43a00.tar.gz
[ANNOUNCE] v5.17-rc1-rt1v5.17-rc1-rt1-patches
Dear RT folks! I'm pleased to announce the v5.17-rc1-rt1 patch set. Changes since v5.16.2-rt19: - Rebase to v5.17-rc1. Known issues - netconsole triggers WARN. - Valentin Schneider reported a few splats on ARM64, see https://lkml.kernel.org/r/20210810134127.1394269-1-valentin.schneider@arm.com 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.17-rc1-rt1 The RT patch against v5.17-rc1 can be found here: https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.17/older/patch-5.17-rc1-rt1.patch.xz The split quilt queue is available at: https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.17/older/patches-5.17-rc1-rt1.tar.xz Sebastian Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch')
-rw-r--r--patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch125
1 files changed, 0 insertions, 125 deletions
diff --git a/patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch b/patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch
deleted file mode 100644
index b7681a4ba87d..000000000000
--- a/patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Date: Mon, 29 Nov 2021 18:46:49 +0100
-Subject: [PATCH 06/11] lockdep/selftests: Avoid using
- local_lock_{acquire|release}().
-
-The local_lock related functions
- local_lock_acquire()
- local_lock_release()
-
-are part of the internal implementation and should be avoided.
-Define the lock as DEFINE_PER_CPU so the normal local_lock() function
-can be used.
-
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-Link: https://lore.kernel.org/r/20211129174654.668506-7-bigeasy@linutronix.de
----
- lib/locking-selftest.c | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
---- a/lib/locking-selftest.c
-+++ b/lib/locking-selftest.c
-@@ -139,7 +139,7 @@ static DEFINE_RT_MUTEX(rtmutex_Z2);
-
- #endif
-
--static local_lock_t local_A = INIT_LOCAL_LOCK(local_A);
-+static DEFINE_PER_CPU(local_lock_t, local_A);
-
- /*
- * non-inlined runtime initializers, to let separate locks share
-@@ -1320,7 +1320,7 @@ GENERATE_PERMUTATIONS_3_EVENTS(irq_read_
- # define I_MUTEX(x) lockdep_reset_lock(&mutex_##x.dep_map)
- # define I_RWSEM(x) lockdep_reset_lock(&rwsem_##x.dep_map)
- # define I_WW(x) lockdep_reset_lock(&x.dep_map)
--# define I_LOCAL_LOCK(x) lockdep_reset_lock(&local_##x.dep_map)
-+# define I_LOCAL_LOCK(x) lockdep_reset_lock(this_cpu_ptr(&local_##x.dep_map))
- #ifdef CONFIG_RT_MUTEXES
- # define I_RTMUTEX(x) lockdep_reset_lock(&rtmutex_##x.dep_map)
- #endif
-@@ -1380,7 +1380,7 @@ static void reset_locks(void)
- init_shared_classes();
- raw_spin_lock_init(&raw_lock_A);
- raw_spin_lock_init(&raw_lock_B);
-- local_lock_init(&local_A);
-+ local_lock_init(this_cpu_ptr(&local_A));
-
- ww_mutex_init(&o, &ww_lockdep); ww_mutex_init(&o2, &ww_lockdep); ww_mutex_init(&o3, &ww_lockdep);
- memset(&t, 0, sizeof(t)); memset(&t2, 0, sizeof(t2));
-@@ -2646,8 +2646,8 @@ static void wait_context_tests(void)
-
- static void local_lock_2(void)
- {
-- local_lock_acquire(&local_A); /* IRQ-ON */
-- local_lock_release(&local_A);
-+ local_lock(&local_A); /* IRQ-ON */
-+ local_unlock(&local_A);
-
- HARDIRQ_ENTER();
- spin_lock(&lock_A); /* IN-IRQ */
-@@ -2656,18 +2656,18 @@ static void local_lock_2(void)
-
- HARDIRQ_DISABLE();
- spin_lock(&lock_A);
-- local_lock_acquire(&local_A); /* IN-IRQ <-> IRQ-ON cycle, false */
-- local_lock_release(&local_A);
-+ local_lock(&local_A); /* IN-IRQ <-> IRQ-ON cycle, false */
-+ local_unlock(&local_A);
- spin_unlock(&lock_A);
- HARDIRQ_ENABLE();
- }
-
- static void local_lock_3A(void)
- {
-- local_lock_acquire(&local_A); /* IRQ-ON */
-+ local_lock(&local_A); /* IRQ-ON */
- spin_lock(&lock_B); /* IRQ-ON */
- spin_unlock(&lock_B);
-- local_lock_release(&local_A);
-+ local_unlock(&local_A);
-
- HARDIRQ_ENTER();
- spin_lock(&lock_A); /* IN-IRQ */
-@@ -2676,18 +2676,18 @@ static void local_lock_3A(void)
-
- HARDIRQ_DISABLE();
- spin_lock(&lock_A);
-- local_lock_acquire(&local_A); /* IN-IRQ <-> IRQ-ON cycle only if we count local_lock(), false */
-- local_lock_release(&local_A);
-+ local_lock(&local_A); /* IN-IRQ <-> IRQ-ON cycle only if we count local_lock(), false */
-+ local_unlock(&local_A);
- spin_unlock(&lock_A);
- HARDIRQ_ENABLE();
- }
-
- static void local_lock_3B(void)
- {
-- local_lock_acquire(&local_A); /* IRQ-ON */
-+ local_lock(&local_A); /* IRQ-ON */
- spin_lock(&lock_B); /* IRQ-ON */
- spin_unlock(&lock_B);
-- local_lock_release(&local_A);
-+ local_unlock(&local_A);
-
- HARDIRQ_ENTER();
- spin_lock(&lock_A); /* IN-IRQ */
-@@ -2696,8 +2696,8 @@ static void local_lock_3B(void)
-
- HARDIRQ_DISABLE();
- spin_lock(&lock_A);
-- local_lock_acquire(&local_A); /* IN-IRQ <-> IRQ-ON cycle only if we count local_lock(), false */
-- local_lock_release(&local_A);
-+ local_lock(&local_A); /* IN-IRQ <-> IRQ-ON cycle only if we count local_lock(), false */
-+ local_unlock(&local_A);
- spin_unlock(&lock_A);
- HARDIRQ_ENABLE();
-
-@@ -2812,7 +2812,7 @@ void locking_selftest(void)
- printk("------------------------\n");
- printk("| Locking API testsuite:\n");
- printk("----------------------------------------------------------------------------\n");
-- printk(" | spin |wlock |rlock |mutex | wsem | rsem |\n");
-+ printk(" | spin |wlock |rlock |mutex | wsem | rsem |rtmutex\n");
- printk(" --------------------------------------------------------------------------\n");
-
- init_shared_classes();