Message ID | 20230127190516.52994-1-julien@xen.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xen/common: Constify the parameter of _spin_is_locked() | expand |
Hi Julien, > -----Original Message----- > Subject: [PATCH] xen/common: Constify the parameter of _spin_is_locked() > > From: Julien Grall <jgrall@amazon.com> > > The lock is not meant to be modified by _spin_is_locked(). So constify > it. > > This is helpful to be able to assert the locked is taken when the Nit: s/locked/lock/ This definitely can be fixed on commit. > underlying structure is const. > > Signed-off-by: Julien Grall <jgrall@amazon.com> I tried to test this patch on FVP (both Arm32 and Arm64) to play safe. This patch is good (as expected of course :)), so: Reviewed-by: Henry Wang <Henry.Wang@arm.com> Tested-by: Henry Wang <Henry.Wang@arm.com> #Arm Kind regards, Henry
On 27.01.2023 20:05, Julien Grall wrote: > From: Julien Grall <jgrall@amazon.com> > > The lock is not meant to be modified by _spin_is_locked(). So constify > it. > > This is helpful to be able to assert the locked is taken when the > underlying structure is const. > > Signed-off-by: Julien Grall <jgrall@amazon.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> But: Could I talk you into doing the same for _rw_is{,_write}_locked() for consistency? Jan
On 30/01/2023 08:11, Jan Beulich wrote: > On 27.01.2023 20:05, Julien Grall wrote: >> From: Julien Grall <jgrall@amazon.com> >> >> The lock is not meant to be modified by _spin_is_locked(). So constify >> it. >> >> This is helpful to be able to assert the locked is taken when the >> underlying structure is const. >> >> Signed-off-by: Julien Grall <jgrall@amazon.com> > > Reviewed-by: Jan Beulich <jbeulich@suse.com> > > But: Could I talk you into doing the same for _rw_is{,_write}_locked() for > consistency? Sure. Although, I would prefer to do it in a separate patch. Cheers,
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c index 84996c3fbc1f..a15f0a2eb667 100644 --- a/xen/common/spinlock.c +++ b/xen/common/spinlock.c @@ -368,7 +368,7 @@ void _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags) local_irq_restore(flags); } -int _spin_is_locked(spinlock_t *lock) +int _spin_is_locked(const spinlock_t *lock) { /* * Recursive locks may be locked by another CPU, yet we return diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h index 2fa6ba36548e..ca40c71c88f9 100644 --- a/xen/include/xen/spinlock.h +++ b/xen/include/xen/spinlock.h @@ -185,7 +185,7 @@ void _spin_unlock(spinlock_t *lock); void _spin_unlock_irq(spinlock_t *lock); void _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags); -int _spin_is_locked(spinlock_t *lock); +int _spin_is_locked(const spinlock_t *lock); int _spin_trylock(spinlock_t *lock); void _spin_barrier(spinlock_t *lock);