[RFC PATCH v2 2/9] eal: annotate spinlock and rwlock
    David Marchand 
    david.marchand at redhat.com
       
    Thu Mar 31 11:22:41 CEST 2022
    
    
  
On Wed, Mar 30, 2022 at 3:50 PM David Marchand
<david.marchand at redhat.com> wrote:
> diff --git a/lib/eal/include/generic/rte_rwlock.h b/lib/eal/include/generic/rte_rwlock.h
> index da9bc3e9c0..dabbac0131 100644
> --- a/lib/eal/include/generic/rte_rwlock.h
> +++ b/lib/eal/include/generic/rte_rwlock.h
[snip]
> @@ -90,7 +92,8 @@ rte_rwlock_read_lock(rte_rwlock_t *rwl)
>   */
>  __rte_experimental
>  static inline int
> -rte_rwlock_read_trylock(rte_rwlock_t *rwl)
> +rte_rwlock_read_trylock(rte_rwlock_t *rwl) RTE_SHARED_LOCK_TRYLOCK(1, rwl)
Should be 0.
> +       RTE_NO_ANNOTATED_LOCK_CHECK
>  {
>         int32_t x;
>         int success = 0;
> @@ -114,7 +117,8 @@ rte_rwlock_read_trylock(rte_rwlock_t *rwl)
>   *   A pointer to the rwlock structure.
>   */
>  static inline void
> -rte_rwlock_read_unlock(rte_rwlock_t *rwl)
> +rte_rwlock_read_unlock(rte_rwlock_t *rwl) RTE_LOCK_RELEASES(rwl)
> +       RTE_NO_ANNOTATED_LOCK_CHECK
>  {
>         __atomic_fetch_sub(&rwl->cnt, 1, __ATOMIC_RELEASE);
>  }
> @@ -134,7 +138,8 @@ rte_rwlock_read_unlock(rte_rwlock_t *rwl)
>   */
>  __rte_experimental
>  static inline int
> -rte_rwlock_write_trylock(rte_rwlock_t *rwl)
> +rte_rwlock_write_trylock(rte_rwlock_t *rwl) RTE_EXC_LOCK_TRYLOCK(1, rwl)
Should be 0.
> +       RTE_NO_ANNOTATED_LOCK_CHECK
>  {
>         int32_t x;
>
-- 
David Marchand
    
    
More information about the dev
mailing list