diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2022-01-26 17:33:33 +0100 |
---|---|---|
committer | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2022-01-26 17:33:33 +0100 |
commit | dd833c21fde92e3318e3b43c3a239dc9d0a43a00 (patch) | |
tree | 47bbb9d64c4d6d182571ecaf97fbd6538d7c920d /patches/0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch | |
parent | b06657798e2003def567a08e959e461019f095bd (diff) | |
download | linux-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.patch | 125 |
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(); |