* [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry
@ 2025-11-27 14:41 Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 1/2] locking: Add local_locks to MAINTAINERS Sebastian Andrzej Siewior
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Sebastian Andrzej Siewior @ 2025-11-27 14:41 UTC (permalink / raw)
To: linux-kernel, linux-rt-devel
Cc: tglx, Peter Zijlstra, Ingo Molnar, Will Deacon, Waiman Long,
Sebastian Andrzej Siewior
This is a repost of two individual postings earlier:
https://lore.kernel.org/all/20250927090110.t8Tm9yrk@linutronix.de/
https://lore.kernel.org/all/20251009103900.2Fk8stnM@linutronix.de/
Sebastian Andrzej Siewior (1):
locking: Add local_locks to MAINTAINERS
Vincent Mailhol (1):
locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of
shadowing
MAINTAINERS | 1 +
include/linux/local_lock_internal.h | 62 ++++++++++++++---------------
2 files changed, 32 insertions(+), 31 deletions(-)
--
2.51.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] locking: Add local_locks to MAINTAINERS
2025-11-27 14:41 [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Sebastian Andrzej Siewior
@ 2025-11-27 14:41 ` Sebastian Andrzej Siewior
2025-11-29 11:49 ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
2025-12-01 6:01 ` [tip: locking/core] locking/local_lock: Add the <linux/local_lock*.h> headers " tip-bot2 for Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 2/2] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing Sebastian Andrzej Siewior
2025-11-28 10:04 ` [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Peter Zijlstra
2 siblings, 2 replies; 8+ messages in thread
From: Sebastian Andrzej Siewior @ 2025-11-27 14:41 UTC (permalink / raw)
To: linux-kernel, linux-rt-devel
Cc: tglx, Peter Zijlstra, Ingo Molnar, Will Deacon, Waiman Long,
Sebastian Andrzej Siewior, Vlastimil Babka
The local_lock_t was never added to the MAINTAINERS file since its
inclusion.
Add local_lock_t to the locking primitives section.
Cc: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Waiman Long <longman@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 6df89b14b521a..6939d27bc1f2d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14535,6 +14535,7 @@ S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
F: Documentation/locking/
F: arch/*/include/asm/spinlock*.h
+F: include/linux/local_lock*.h
F: include/linux/lockdep*.h
F: include/linux/mutex*.h
F: include/linux/rwlock*.h
--
2.51.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing
2025-11-27 14:41 [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 1/2] locking: Add local_locks to MAINTAINERS Sebastian Andrzej Siewior
@ 2025-11-27 14:41 ` Sebastian Andrzej Siewior
2025-11-29 11:49 ` [tip: locking/core] " tip-bot2 for Vincent Mailhol
2025-12-01 6:01 ` [tip: locking/core] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the " tip-bot2 for Vincent Mailhol
2025-11-28 10:04 ` [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Peter Zijlstra
2 siblings, 2 replies; 8+ messages in thread
From: Sebastian Andrzej Siewior @ 2025-11-27 14:41 UTC (permalink / raw)
To: linux-kernel, linux-rt-devel
Cc: tglx, Peter Zijlstra, Ingo Molnar, Will Deacon, Waiman Long,
Vincent Mailhol, Sebastian Andrzej Siewior
From: Vincent Mailhol <mailhol@kernel.org>
The Linux kernel coding style advises to avoid common variable
names in function-like macros to reduce the risk of collisions.
Throughout local_lock_internal.h, several macros use the rather common
variable names 'l' and 'tl'. This already resulted in an actual
collision: the __local_lock_acquire() function like macro is currently
shadowing the parameter 'l' of the:
class_##_name##_t class_##_name##_constructor(_type *l)
function factory from linux/cleanup.h.
Rename the variable 'l' to '__l' and the variable 'tl' to '__tl'
throughout the file to fix the current name collision and to prevent
future ones.
[ bigeasy: Rebase, update all l and tl instances in macros ]
Signed-off-by: Vincent Mailhol <mailhol@kernel.org>
Acked-by: Waiman Long <longman@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
include/linux/local_lock_internal.h | 62 ++++++++++++++---------------
1 file changed, 31 insertions(+), 31 deletions(-)
diff --git a/include/linux/local_lock_internal.h b/include/linux/local_lock_internal.h
index a4dc479157b5c..8f82b4eb542f2 100644
--- a/include/linux/local_lock_internal.h
+++ b/include/linux/local_lock_internal.h
@@ -99,18 +99,18 @@ do { \
#define __local_lock_acquire(lock) \
do { \
- local_trylock_t *tl; \
- local_lock_t *l; \
+ local_trylock_t *__tl; \
+ local_lock_t *__l; \
\
- l = (local_lock_t *)(lock); \
- tl = (local_trylock_t *)l; \
+ __l = (local_lock_t *)(lock); \
+ __tl = (local_trylock_t *)__l; \
_Generic((lock), \
local_trylock_t *: ({ \
- lockdep_assert(tl->acquired == 0); \
- WRITE_ONCE(tl->acquired, 1); \
+ lockdep_assert(__tl->acquired == 0); \
+ WRITE_ONCE(__tl->acquired, 1); \
}), \
local_lock_t *: (void)0); \
- local_lock_acquire(l); \
+ local_lock_acquire(__l); \
} while (0)
#define __local_lock(lock) \
@@ -133,36 +133,36 @@ do { \
#define __local_trylock(lock) \
({ \
- local_trylock_t *tl; \
+ local_trylock_t *__tl; \
\
preempt_disable(); \
- tl = (lock); \
- if (READ_ONCE(tl->acquired)) { \
+ __tl = (lock); \
+ if (READ_ONCE(__tl->acquired)) { \
preempt_enable(); \
- tl = NULL; \
+ __tl = NULL; \
} else { \
- WRITE_ONCE(tl->acquired, 1); \
+ WRITE_ONCE(__tl->acquired, 1); \
local_trylock_acquire( \
- (local_lock_t *)tl); \
+ (local_lock_t *)__tl); \
} \
- !!tl; \
+ !!__tl; \
})
#define __local_trylock_irqsave(lock, flags) \
({ \
- local_trylock_t *tl; \
+ local_trylock_t *__tl; \
\
local_irq_save(flags); \
- tl = (lock); \
- if (READ_ONCE(tl->acquired)) { \
+ __tl = (lock); \
+ if (READ_ONCE(__tl->acquired)) { \
local_irq_restore(flags); \
- tl = NULL; \
+ __tl = NULL; \
} else { \
- WRITE_ONCE(tl->acquired, 1); \
+ WRITE_ONCE(__tl->acquired, 1); \
local_trylock_acquire( \
- (local_lock_t *)tl); \
+ (local_lock_t *)__tl); \
} \
- !!tl; \
+ !!__tl; \
})
/* preemption or migration must be disabled before calling __local_lock_is_locked */
@@ -170,16 +170,16 @@ do { \
#define __local_lock_release(lock) \
do { \
- local_trylock_t *tl; \
- local_lock_t *l; \
+ local_trylock_t *__tl; \
+ local_lock_t *__l; \
\
- l = (local_lock_t *)(lock); \
- tl = (local_trylock_t *)l; \
- local_lock_release(l); \
+ __l = (local_lock_t *)(lock); \
+ __tl = (local_trylock_t *)__l; \
+ local_lock_release(__l); \
_Generic((lock), \
local_trylock_t *: ({ \
- lockdep_assert(tl->acquired == 1); \
- WRITE_ONCE(tl->acquired, 0); \
+ lockdep_assert(__tl->acquired == 1); \
+ WRITE_ONCE(__tl->acquired, 0); \
}), \
local_lock_t *: (void)0); \
} while (0)
@@ -223,12 +223,12 @@ typedef spinlock_t local_trylock_t;
#define INIT_LOCAL_LOCK(lockname) __LOCAL_SPIN_LOCK_UNLOCKED((lockname))
#define INIT_LOCAL_TRYLOCK(lockname) __LOCAL_SPIN_LOCK_UNLOCKED((lockname))
-#define __local_lock_init(l) \
+#define __local_lock_init(__l) \
do { \
- local_spin_lock_init((l)); \
+ local_spin_lock_init((__l)); \
} while (0)
-#define __local_trylock_init(l) __local_lock_init(l)
+#define __local_trylock_init(__l) __local_lock_init(__l)
#define __local_lock(__lock) \
do { \
--
2.51.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry
2025-11-27 14:41 [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 1/2] locking: Add local_locks to MAINTAINERS Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 2/2] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing Sebastian Andrzej Siewior
@ 2025-11-28 10:04 ` Peter Zijlstra
2 siblings, 0 replies; 8+ messages in thread
From: Peter Zijlstra @ 2025-11-28 10:04 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: linux-kernel, linux-rt-devel, tglx, Ingo Molnar, Will Deacon,
Waiman Long
On Thu, Nov 27, 2025 at 03:41:38PM +0100, Sebastian Andrzej Siewior wrote:
> This is a repost of two individual postings earlier:
> https://lore.kernel.org/all/20250927090110.t8Tm9yrk@linutronix.de/
> https://lore.kernel.org/all/20251009103900.2Fk8stnM@linutronix.de/
>
> Sebastian Andrzej Siewior (1):
> locking: Add local_locks to MAINTAINERS
>
> Vincent Mailhol (1):
> locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of
> shadowing
>
> MAINTAINERS | 1 +
> include/linux/local_lock_internal.h | 62 ++++++++++++++---------------
> 2 files changed, 32 insertions(+), 31 deletions(-)
Thanks, stuck in queue/locking/core.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip: locking/core] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing
2025-11-27 14:41 ` [PATCH 2/2] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing Sebastian Andrzej Siewior
@ 2025-11-29 11:49 ` tip-bot2 for Vincent Mailhol
2025-12-01 6:01 ` [tip: locking/core] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the " tip-bot2 for Vincent Mailhol
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot2 for Vincent Mailhol @ 2025-11-29 11:49 UTC (permalink / raw)
To: linux-tip-commits
Cc: Vincent Mailhol, Sebastian Andrzej Siewior,
Peter Zijlstra (Intel),
Waiman Long, x86, linux-kernel
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 4b9405200ced4d5c90d3dfe61036833ed6fb439c
Gitweb: https://git.kernel.org/tip/4b9405200ced4d5c90d3dfe61036833ed6fb439c
Author: Vincent Mailhol <mailhol@kernel.org>
AuthorDate: Thu, 27 Nov 2025 15:41:40 +01:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Fri, 28 Nov 2025 11:09:02 +01:00
locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing
The Linux kernel coding style advises to avoid common variable
names in function-like macros to reduce the risk of collisions.
Throughout local_lock_internal.h, several macros use the rather common
variable names 'l' and 'tl'. This already resulted in an actual
collision: the __local_lock_acquire() function like macro is currently
shadowing the parameter 'l' of the:
class_##_name##_t class_##_name##_constructor(_type *l)
function factory from linux/cleanup.h.
Rename the variable 'l' to '__l' and the variable 'tl' to '__tl'
throughout the file to fix the current name collision and to prevent
future ones.
[ bigeasy: Rebase, update all l and tl instances in macros ]
Signed-off-by: Vincent Mailhol <mailhol@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Link: https://patch.msgid.link/20251127144140.215722-3-bigeasy@linutronix.de
---
include/linux/local_lock_internal.h | 62 ++++++++++++++--------------
1 file changed, 31 insertions(+), 31 deletions(-)
diff --git a/include/linux/local_lock_internal.h b/include/linux/local_lock_internal.h
index a4dc479..8f82b4e 100644
--- a/include/linux/local_lock_internal.h
+++ b/include/linux/local_lock_internal.h
@@ -99,18 +99,18 @@ do { \
#define __local_lock_acquire(lock) \
do { \
- local_trylock_t *tl; \
- local_lock_t *l; \
+ local_trylock_t *__tl; \
+ local_lock_t *__l; \
\
- l = (local_lock_t *)(lock); \
- tl = (local_trylock_t *)l; \
+ __l = (local_lock_t *)(lock); \
+ __tl = (local_trylock_t *)__l; \
_Generic((lock), \
local_trylock_t *: ({ \
- lockdep_assert(tl->acquired == 0); \
- WRITE_ONCE(tl->acquired, 1); \
+ lockdep_assert(__tl->acquired == 0); \
+ WRITE_ONCE(__tl->acquired, 1); \
}), \
local_lock_t *: (void)0); \
- local_lock_acquire(l); \
+ local_lock_acquire(__l); \
} while (0)
#define __local_lock(lock) \
@@ -133,36 +133,36 @@ do { \
#define __local_trylock(lock) \
({ \
- local_trylock_t *tl; \
+ local_trylock_t *__tl; \
\
preempt_disable(); \
- tl = (lock); \
- if (READ_ONCE(tl->acquired)) { \
+ __tl = (lock); \
+ if (READ_ONCE(__tl->acquired)) { \
preempt_enable(); \
- tl = NULL; \
+ __tl = NULL; \
} else { \
- WRITE_ONCE(tl->acquired, 1); \
+ WRITE_ONCE(__tl->acquired, 1); \
local_trylock_acquire( \
- (local_lock_t *)tl); \
+ (local_lock_t *)__tl); \
} \
- !!tl; \
+ !!__tl; \
})
#define __local_trylock_irqsave(lock, flags) \
({ \
- local_trylock_t *tl; \
+ local_trylock_t *__tl; \
\
local_irq_save(flags); \
- tl = (lock); \
- if (READ_ONCE(tl->acquired)) { \
+ __tl = (lock); \
+ if (READ_ONCE(__tl->acquired)) { \
local_irq_restore(flags); \
- tl = NULL; \
+ __tl = NULL; \
} else { \
- WRITE_ONCE(tl->acquired, 1); \
+ WRITE_ONCE(__tl->acquired, 1); \
local_trylock_acquire( \
- (local_lock_t *)tl); \
+ (local_lock_t *)__tl); \
} \
- !!tl; \
+ !!__tl; \
})
/* preemption or migration must be disabled before calling __local_lock_is_locked */
@@ -170,16 +170,16 @@ do { \
#define __local_lock_release(lock) \
do { \
- local_trylock_t *tl; \
- local_lock_t *l; \
+ local_trylock_t *__tl; \
+ local_lock_t *__l; \
\
- l = (local_lock_t *)(lock); \
- tl = (local_trylock_t *)l; \
- local_lock_release(l); \
+ __l = (local_lock_t *)(lock); \
+ __tl = (local_trylock_t *)__l; \
+ local_lock_release(__l); \
_Generic((lock), \
local_trylock_t *: ({ \
- lockdep_assert(tl->acquired == 1); \
- WRITE_ONCE(tl->acquired, 0); \
+ lockdep_assert(__tl->acquired == 1); \
+ WRITE_ONCE(__tl->acquired, 0); \
}), \
local_lock_t *: (void)0); \
} while (0)
@@ -223,12 +223,12 @@ typedef spinlock_t local_trylock_t;
#define INIT_LOCAL_LOCK(lockname) __LOCAL_SPIN_LOCK_UNLOCKED((lockname))
#define INIT_LOCAL_TRYLOCK(lockname) __LOCAL_SPIN_LOCK_UNLOCKED((lockname))
-#define __local_lock_init(l) \
+#define __local_lock_init(__l) \
do { \
- local_spin_lock_init((l)); \
+ local_spin_lock_init((__l)); \
} while (0)
-#define __local_trylock_init(l) __local_lock_init(l)
+#define __local_trylock_init(__l) __local_lock_init(__l)
#define __local_lock(__lock) \
do { \
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip: locking/core] locking: Add local_locks to MAINTAINERS
2025-11-27 14:41 ` [PATCH 1/2] locking: Add local_locks to MAINTAINERS Sebastian Andrzej Siewior
@ 2025-11-29 11:49 ` tip-bot2 for Sebastian Andrzej Siewior
2025-12-01 6:01 ` [tip: locking/core] locking/local_lock: Add the <linux/local_lock*.h> headers " tip-bot2 for Sebastian Andrzej Siewior
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot2 for Sebastian Andrzej Siewior @ 2025-11-29 11:49 UTC (permalink / raw)
To: linux-tip-commits
Cc: Sebastian Andrzej Siewior, Peter Zijlstra (Intel),
Waiman Long, x86, linux-kernel
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 477ee187604d2169f52e570dc04dadb33ea78c59
Gitweb: https://git.kernel.org/tip/477ee187604d2169f52e570dc04dadb33ea78c59
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate: Thu, 27 Nov 2025 15:41:39 +01:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Fri, 28 Nov 2025 11:09:01 +01:00
locking: Add local_locks to MAINTAINERS
The local_lock_t was never added to the MAINTAINERS file since its
inclusion.
Add local_lock_t to the locking primitives section.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Link: https://patch.msgid.link/20251127144140.215722-2-bigeasy@linutronix.de
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 545a477..a099b9b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14517,6 +14517,7 @@ S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
F: Documentation/locking/
F: arch/*/include/asm/spinlock*.h
+F: include/linux/local_lock*.h
F: include/linux/lockdep*.h
F: include/linux/mutex*.h
F: include/linux/rwlock*.h
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip: locking/core] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the risk of shadowing
2025-11-27 14:41 ` [PATCH 2/2] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing Sebastian Andrzej Siewior
2025-11-29 11:49 ` [tip: locking/core] " tip-bot2 for Vincent Mailhol
@ 2025-12-01 6:01 ` tip-bot2 for Vincent Mailhol
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot2 for Vincent Mailhol @ 2025-12-01 6:01 UTC (permalink / raw)
To: linux-tip-commits
Cc: Vincent Mailhol, Sebastian Andrzej Siewior,
Peter Zijlstra (Intel),
Ingo Molnar, Waiman Long, x86, linux-kernel
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 719e357fc09c63238956eb7cd546627f9e050640
Gitweb: https://git.kernel.org/tip/719e357fc09c63238956eb7cd546627f9e050640
Author: Vincent Mailhol <mailhol@kernel.org>
AuthorDate: Thu, 27 Nov 2025 15:41:40 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Mon, 01 Dec 2025 06:56:16 +01:00
locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the risk of shadowing
The Linux kernel coding style advises to avoid common variable
names in function-like macros to reduce the risk of namespace
collisions.
Throughout local_lock_internal.h, several macros use the rather common
variable names 'l' and 'tl'. This already resulted in an actual
collision: the __local_lock_acquire() function like macro is currently
shadowing the parameter 'l' of the:
class_##_name##_t class_##_name##_constructor(_type *l)
function factory from <linux/cleanup.h>.
Rename the variable 'l' to '__l' and the variable 'tl' to '__tl'
throughout the file to fix the current namespace collision and
to prevent future ones.
[ bigeasy: Rebase, update all l and tl instances in macros ]
Signed-off-by: Vincent Mailhol <mailhol@kernel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Waiman Long <longman@redhat.com>
Link: https://patch.msgid.link/20251127144140.215722-3-bigeasy@linutronix.de
---
include/linux/local_lock_internal.h | 62 ++++++++++++++--------------
1 file changed, 31 insertions(+), 31 deletions(-)
diff --git a/include/linux/local_lock_internal.h b/include/linux/local_lock_internal.h
index a4dc479..8f82b4e 100644
--- a/include/linux/local_lock_internal.h
+++ b/include/linux/local_lock_internal.h
@@ -99,18 +99,18 @@ do { \
#define __local_lock_acquire(lock) \
do { \
- local_trylock_t *tl; \
- local_lock_t *l; \
+ local_trylock_t *__tl; \
+ local_lock_t *__l; \
\
- l = (local_lock_t *)(lock); \
- tl = (local_trylock_t *)l; \
+ __l = (local_lock_t *)(lock); \
+ __tl = (local_trylock_t *)__l; \
_Generic((lock), \
local_trylock_t *: ({ \
- lockdep_assert(tl->acquired == 0); \
- WRITE_ONCE(tl->acquired, 1); \
+ lockdep_assert(__tl->acquired == 0); \
+ WRITE_ONCE(__tl->acquired, 1); \
}), \
local_lock_t *: (void)0); \
- local_lock_acquire(l); \
+ local_lock_acquire(__l); \
} while (0)
#define __local_lock(lock) \
@@ -133,36 +133,36 @@ do { \
#define __local_trylock(lock) \
({ \
- local_trylock_t *tl; \
+ local_trylock_t *__tl; \
\
preempt_disable(); \
- tl = (lock); \
- if (READ_ONCE(tl->acquired)) { \
+ __tl = (lock); \
+ if (READ_ONCE(__tl->acquired)) { \
preempt_enable(); \
- tl = NULL; \
+ __tl = NULL; \
} else { \
- WRITE_ONCE(tl->acquired, 1); \
+ WRITE_ONCE(__tl->acquired, 1); \
local_trylock_acquire( \
- (local_lock_t *)tl); \
+ (local_lock_t *)__tl); \
} \
- !!tl; \
+ !!__tl; \
})
#define __local_trylock_irqsave(lock, flags) \
({ \
- local_trylock_t *tl; \
+ local_trylock_t *__tl; \
\
local_irq_save(flags); \
- tl = (lock); \
- if (READ_ONCE(tl->acquired)) { \
+ __tl = (lock); \
+ if (READ_ONCE(__tl->acquired)) { \
local_irq_restore(flags); \
- tl = NULL; \
+ __tl = NULL; \
} else { \
- WRITE_ONCE(tl->acquired, 1); \
+ WRITE_ONCE(__tl->acquired, 1); \
local_trylock_acquire( \
- (local_lock_t *)tl); \
+ (local_lock_t *)__tl); \
} \
- !!tl; \
+ !!__tl; \
})
/* preemption or migration must be disabled before calling __local_lock_is_locked */
@@ -170,16 +170,16 @@ do { \
#define __local_lock_release(lock) \
do { \
- local_trylock_t *tl; \
- local_lock_t *l; \
+ local_trylock_t *__tl; \
+ local_lock_t *__l; \
\
- l = (local_lock_t *)(lock); \
- tl = (local_trylock_t *)l; \
- local_lock_release(l); \
+ __l = (local_lock_t *)(lock); \
+ __tl = (local_trylock_t *)__l; \
+ local_lock_release(__l); \
_Generic((lock), \
local_trylock_t *: ({ \
- lockdep_assert(tl->acquired == 1); \
- WRITE_ONCE(tl->acquired, 0); \
+ lockdep_assert(__tl->acquired == 1); \
+ WRITE_ONCE(__tl->acquired, 0); \
}), \
local_lock_t *: (void)0); \
} while (0)
@@ -223,12 +223,12 @@ typedef spinlock_t local_trylock_t;
#define INIT_LOCAL_LOCK(lockname) __LOCAL_SPIN_LOCK_UNLOCKED((lockname))
#define INIT_LOCAL_TRYLOCK(lockname) __LOCAL_SPIN_LOCK_UNLOCKED((lockname))
-#define __local_lock_init(l) \
+#define __local_lock_init(__l) \
do { \
- local_spin_lock_init((l)); \
+ local_spin_lock_init((__l)); \
} while (0)
-#define __local_trylock_init(l) __local_lock_init(l)
+#define __local_trylock_init(__l) __local_lock_init(__l)
#define __local_lock(__lock) \
do { \
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip: locking/core] locking/local_lock: Add the <linux/local_lock*.h> headers to MAINTAINERS
2025-11-27 14:41 ` [PATCH 1/2] locking: Add local_locks to MAINTAINERS Sebastian Andrzej Siewior
2025-11-29 11:49 ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
@ 2025-12-01 6:01 ` tip-bot2 for Sebastian Andrzej Siewior
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot2 for Sebastian Andrzej Siewior @ 2025-12-01 6:01 UTC (permalink / raw)
To: linux-tip-commits
Cc: Sebastian Andrzej Siewior, Peter Zijlstra (Intel),
Ingo Molnar, Waiman Long, x86, linux-kernel
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 52ed746147140e30419ee852c1916531b4ef9b0a
Gitweb: https://git.kernel.org/tip/52ed746147140e30419ee852c1916531b4ef9b0a
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate: Thu, 27 Nov 2025 15:41:39 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Mon, 01 Dec 2025 06:56:10 +01:00
locking/local_lock: Add the <linux/local_lock*.h> headers to MAINTAINERS
The local_lock_t was never added to the MAINTAINERS file since its
inclusion.
Add local_lock_t to the locking primitives section.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Waiman Long <longman@redhat.com>
Link: https://patch.msgid.link/20251127144140.215722-2-bigeasy@linutronix.de
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 545a477..a099b9b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14517,6 +14517,7 @@ S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
F: Documentation/locking/
F: arch/*/include/asm/spinlock*.h
+F: include/linux/local_lock*.h
F: include/linux/lockdep*.h
F: include/linux/mutex*.h
F: include/linux/rwlock*.h
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-12-01 6:01 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-27 14:41 [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 1/2] locking: Add local_locks to MAINTAINERS Sebastian Andrzej Siewior
2025-11-29 11:49 ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
2025-12-01 6:01 ` [tip: locking/core] locking/local_lock: Add the <linux/local_lock*.h> headers " tip-bot2 for Sebastian Andrzej Siewior
2025-11-27 14:41 ` [PATCH 2/2] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce risk of shadowing Sebastian Andrzej Siewior
2025-11-29 11:49 ` [tip: locking/core] " tip-bot2 for Vincent Mailhol
2025-12-01 6:01 ` [tip: locking/core] locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the " tip-bot2 for Vincent Mailhol
2025-11-28 10:04 ` [PATCH v3 RESEND 0/2] locking/local_lock: shadowing and maintainers entry Peter Zijlstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®