diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-07-19 19:25:53 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-07-19 19:25:53 +0200 |
| commit | ba28549bad8ab2b09264ebc8c2ca24af3537ee52 (patch) | |
| tree | 202ce15fa4875018ae4cde5fb9a5c703737f35ec /kernel/locking/rwsem.c | |
| parent | local_lock: Move this_cpu_ptr() notation from internal to main header (diff) | |
| parent | lockdep: Speed up lockdep_unregister_key() with expedited RCU synchronization (diff) | |
| download | linux-ba28549bad8ab2b09264ebc8c2ca24af3537ee52.tar.gz linux-ba28549bad8ab2b09264ebc8c2ca24af3537ee52.zip | |
Merge tag 'lockdep-for-tip.2025.07.16' of git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux into locking/core
Locking changes for v6.17:
- General
- Mark devm_mutex_init() as __must_check
- Add #[must_use] to Lock::try_lock()
- Remove OWNER_SPINNABLE in rwsem
- Remove redundant #ifdefs in mutex
- Lockdep
- Avoid returning struct in lock_stats()
- Change `static const` into enum for LOCKF_*_IRQ_*
- Temporarily use synchronize_rcu_expedited() in
lockdep_unregister_key() to speed things up.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'kernel/locking/rwsem.c')
| -rw-r--r-- | kernel/locking/rwsem.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/locking/rwsem.c b/kernel/locking/rwsem.c index 2ddb827e3bea..8572dba95af4 100644 --- a/kernel/locking/rwsem.c +++ b/kernel/locking/rwsem.c @@ -727,8 +727,6 @@ static inline bool rwsem_can_spin_on_owner(struct rw_semaphore *sem) return ret; } -#define OWNER_SPINNABLE (OWNER_NULL | OWNER_WRITER | OWNER_READER) - static inline enum owner_state rwsem_owner_state(struct task_struct *owner, unsigned long flags) { @@ -835,7 +833,7 @@ static bool rwsem_optimistic_spin(struct rw_semaphore *sem) enum owner_state owner_state; owner_state = rwsem_spin_on_owner(sem); - if (!(owner_state & OWNER_SPINNABLE)) + if (owner_state == OWNER_NONSPINNABLE) break; /* |
