Messages in this thread | | | Date | Wed, 12 Apr 2023 12:14:44 -0700 | From | Boqun Feng <> | Subject | Re: [PATCH v4 04/13] locking/spinlock: introduce spin_lock_init_with_key |
| |
On Tue, Apr 11, 2023 at 03:05:07PM -0300, Wedson Almeida Filho wrote: > On Tue, 11 Apr 2023 at 02:46, Wedson Almeida Filho <wedsonaf@gmail.com> wrote: > > > > From: Wedson Almeida Filho <walmeida@microsoft.com> > > > > Rust cannot call C macros, so it has its own macro to create a new lock > > class when a spin lock is initialised. This new function allows Rust > > code to pass the lock class it generates to the C implementation. > > > > Cc: Peter Zijlstra <peterz@infradead.org> > > Cc: Ingo Molnar <mingo@redhat.com> > > Cc: Will Deacon <will@kernel.org> > > Cc: Waiman Long <longman@redhat.com> > > Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com> > > Signed-off-by: Wedson Almeida Filho <walmeida@microsoft.com>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
> > --- > > v1 -> v2: No changes > > v2 -> v3: No changes > > v3 -> v4: No changes > > > > include/linux/spinlock.h | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h > > index be48f1cb1878..cdc92d095133 100644 > > --- a/include/linux/spinlock.h > > +++ b/include/linux/spinlock.h > > @@ -327,12 +327,17 @@ static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock) > > > > #ifdef CONFIG_DEBUG_SPINLOCK > > > > +static inline void spin_lock_init_with_key(spinlock_t *lock, const char *name, > > + struct lock_class_key *key) > > +{ > > + __raw_spin_lock_init(spinlock_check(lock), name, key, LD_WAIT_CONFIG); > > +} > > + > > # define spin_lock_init(lock) \ > > do { \ > > static struct lock_class_key __key; \ > > \ > > - __raw_spin_lock_init(spinlock_check(lock), \ > > - #lock, &__key, LD_WAIT_CONFIG); \ > > + spin_lock_init_with_key(lock, #lock, &__key); \ > > } while (0) > > Peter, the code above is just factoring out spin lock init when > lockdep is enabled to take a lock class key. > > Would you be able to review it? > > If it's ok with you, we'd like to carry it through the rust tree > because we have code that depends on it.
Same ask here ;-) Peter, do you think it's Ok to take it via rust tree? Thanks!
Regards, Boqun
> > Thanks, > -Wedson > > > > > #else > > -- > > 2.34.1 > >
| |