On 23 October 2015 at 03:00, Petri Savolainen <petri.savolai...@nokia.com>
wrote:

> Removed module synchronizer from doxygen documentation and
> introduced new modules for locks, atomics and barriers. Removed
> unnecessary group tagging from internal headers, which are not
> visible to doxygen anyway.
>
> Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com>
>

As long as a bug is created to follow up with the reorganisation of the
tests to match the new modules
Reviewed-by: Mike Holmes <mike.hol...@linaro.org>



> ---
>  include/odp/api/atomic.h                              |  2 +-
>  include/odp/api/barrier.h                             |  4 ++--
>  include/odp/api/rwlock.h                              | 19
> +++++++++++--------
>  include/odp/api/rwlock_recursive.h                    | 17
> ++++++++++-------
>  include/odp/api/spinlock.h                            | 11 ++++++++---
>  include/odp/api/spinlock_recursive.h                  | 15 +++++++++------
>  include/odp/api/sync.h                                |  2 +-
>  include/odp/api/ticketlock.h                          | 16
> ++++++++++------
>  platform/linux-generic/include/odp/atomic.h           |  2 +-
>  platform/linux-generic/include/odp/barrier.h          |  8 --------
>  .../linux-generic/include/odp/plat/atomic_types.h     |  8 --------
>  .../linux-generic/include/odp/plat/barrier_types.h    |  8 --------
>  .../include/odp/plat/rwlock_recursive_types.h         | 13 +------------
>  .../linux-generic/include/odp/plat/rwlock_types.h     | 13 +------------
>  .../include/odp/plat/spinlock_recursive_types.h       | 13 +------------
>  .../linux-generic/include/odp/plat/spinlock_types.h   | 14 +-------------
>  .../linux-generic/include/odp/plat/ticketlock_types.h | 13 +------------
>  platform/linux-generic/include/odp/rwlock.h           |  8 --------
>  platform/linux-generic/include/odp/spinlock.h         |  8 --------
>  platform/linux-generic/include/odp/sync.h             |  8 --------
>  platform/linux-generic/include/odp/ticketlock.h       |  9 ---------
>  platform/linux-generic/include/odp_atomic_internal.h  |  9 ---------
>  22 files changed, 58 insertions(+), 162 deletions(-)
>
> diff --git a/include/odp/api/atomic.h b/include/odp/api/atomic.h
> index ba5c354..8aacc9d 100644
> --- a/include/odp/api/atomic.h
> +++ b/include/odp/api/atomic.h
> @@ -18,7 +18,7 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> +/** @defgroup odp_atomic ODP ATOMIC
>   *  Atomic types and relaxed operations. These operations cannot be used
> for
>   *  synchronization.
>   *  @{
> diff --git a/include/odp/api/barrier.h b/include/odp/api/barrier.h
> index 28310ba..8ca2647 100644
> --- a/include/odp/api/barrier.h
> +++ b/include/odp/api/barrier.h
> @@ -18,8 +18,8 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - *  Synchronize threads.
> +/** @defgroup odp_barrier ODP BARRIER
> + *  Thread excution and memory ordering barriers.
>   *  @{
>   */
>
> diff --git a/include/odp/api/rwlock.h b/include/odp/api/rwlock.h
> index d730a70..54f426f 100644
> --- a/include/odp/api/rwlock.h
> +++ b/include/odp/api/rwlock.h
> @@ -17,18 +17,21 @@
>  extern "C" {
>  #endif
>
> -/** @defgroup odp_synchronizers ODP SYNCRONIZERS
> - *  Operations on reader/writer locks.
> - *  A reader/writer lock allows multiple simultaneous readers but only one
> - *  writer at a time.
> - *  A thread that wants write access will have to wait until there are no
> - *  threads that want read access. This casues a risk for starvation.
> - *  @{
> +/**
> + * @defgroup odp_locks ODP LOCKS
> + * @details
> + * <b> Reader / writer lock (odp_rwlock_t) </b>
> + *
> + * A reader/writer lock allows multiple simultaneous readers but only one
> + * writer at a time. A thread that wants write access will have to wait
> until
> + * there are no threads that want read access. This casues a risk for
> + * starvation.
> + * @{
>   */
>
>  /**
>   * @typedef odp_rwlock_t
> - * ODP rwlock
> + * ODP reader/writer lock
>   */
>
>
> diff --git a/include/odp/api/rwlock_recursive.h
> b/include/odp/api/rwlock_recursive.h
> index 4c7556a..10b2f79 100644
> --- a/include/odp/api/rwlock_recursive.h
> +++ b/include/odp/api/rwlock_recursive.h
> @@ -17,15 +17,12 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - *  Operations on recursive rwlocks.
> - *  @{
> - */
> -
>  /**
> - * @typedef odp_rwlock_recursive_t
> - * Recursive rwlock
> + * @addtogroup odp_locks
> + * @details
> + * <b> Recursive reader/writer lock (odp_rwlock_recursive_t) </b>
>   *
> + * This is recursive version of the reader/writer lock.
>   * A thread can read- or write-acquire a recursive read-write lock
> multiple
>   * times without a deadlock. To release the lock, the thread must unlock
> it
>   * the same number of times. Recursion is supported only for a pure
> series of
> @@ -38,6 +35,12 @@ extern "C" {
>   *
>   * ... but this is not supported.
>   *   * read_lock(); write_lock(); write_unlock(); read_unlock();
> + * @{
> + */
> +
> +/**
> + * @typedef odp_rwlock_recursive_t
> + * Recursive rwlock
>   */
>
>  /**
> diff --git a/include/odp/api/spinlock.h b/include/odp/api/spinlock.h
> index 9a5a929..154d025 100644
> --- a/include/odp/api/spinlock.h
> +++ b/include/odp/api/spinlock.h
> @@ -18,9 +18,14 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - *  Operations on spin locks.
> - *  @{
> +/**
> + * @addtogroup odp_locks
> + * @details
> + * <b> Spin lock (odp_spinlock_t) </b>
> + *
> + * Spinlock simply re-tries to acquire the lock as long as takes to
> succeed.
> + * Spinlock is not fair since some threads may succeed more often than
> others.
> + * @{
>   */
>
>  /**
> diff --git a/include/odp/api/spinlock_recursive.h
> b/include/odp/api/spinlock_recursive.h
> index 46b6be7..d98f2bb 100644
> --- a/include/odp/api/spinlock_recursive.h
> +++ b/include/odp/api/spinlock_recursive.h
> @@ -17,17 +17,20 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - *  Operations on recursive spinlocks.
> - *  @{
> +/**
> + * @addtogroup odp_locks
> + * @details
> + * <b> Recursive spin lock (odp_spinlock_recursive_t) </b>
> + *
> + * This is recursive version of the spin lock. A thread can acquire the
> lock
> + * multiple times without a deadlock. To release the lock, the thread must
> + * unlock it the same number of times.
> + * @{
>   */
>
>  /**
>   * @typedef odp_spinlock_recursive_t
>   * Recursive spinlock
> - *
> - * A thread can acquire the lock multiple times without a deadlock. To
> release
> - * the lock, the thread must unlock it the same number of times.
>   */
>
>  /**
> diff --git a/include/odp/api/sync.h b/include/odp/api/sync.h
> index b338a98..6477e74 100644
> --- a/include/odp/api/sync.h
> +++ b/include/odp/api/sync.h
> @@ -18,7 +18,7 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> +/** @addtogroup odp_barrier
>   *  @{
>   */
>
> diff --git a/include/odp/api/ticketlock.h b/include/odp/api/ticketlock.h
> index e395ac4..3f0e3f5 100644
> --- a/include/odp/api/ticketlock.h
> +++ b/include/odp/api/ticketlock.h
> @@ -18,13 +18,17 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - * Operations on ticket locks.
> +/**
> + * @addtogroup odp_locks
> + * @details
> + * <b> Ticket lock (odp_ticketlock_t) </b>
> + *
>   * Acquiring a ticket lock happens in two phases. First the threads takes
> a
> - * ticket. Second it waits (spins) until it is its turn.
> - * Ticket locks are believed to be more fair than spin locks.
> - * Ticket locks shall not be used in the presence of preemption.
> - *  @{
> + * ticket. Second it waits (spins) until it is its turn. Ticket locks are
> + * believed to be more fair than spin locks. Ticket locks shall not be
> used
> + * if a thread may be preempted, since other threads cannot acquire the
> lock
> + * while the thread in turn is stalled.
> + * @{
>   */
>
>  /**
> diff --git a/platform/linux-generic/include/odp/atomic.h
> b/platform/linux-generic/include/odp/atomic.h
> index e47a280..deb4039 100644
> --- a/platform/linux-generic/include/odp/atomic.h
> +++ b/platform/linux-generic/include/odp/atomic.h
> @@ -21,7 +21,7 @@ extern "C" {
>  #include <odp/align.h>
>  #include <odp/plat/atomic_types.h>
>
> -/** @ingroup odp_synchronizers
> +/** @ingroup odp_atomic
>   *  @{
>   */
>
> diff --git a/platform/linux-generic/include/odp/barrier.h
> b/platform/linux-generic/include/odp/barrier.h
> index 7ea5a6b..42df859 100644
> --- a/platform/linux-generic/include/odp/barrier.h
> +++ b/platform/linux-generic/include/odp/barrier.h
> @@ -21,14 +21,6 @@ extern "C" {
>  #include <odp/plat/shared_memory_types.h>
>  #include <odp/plat/barrier_types.h>
>
> -/** @ingroup odp_synchronizers
> - *  @{
> - */
> -
> -/**
> - * @}
> - */
> -
>  #include <odp/api/barrier.h>
>
>  #ifdef __cplusplus
> diff --git a/platform/linux-generic/include/odp/plat/atomic_types.h
> b/platform/linux-generic/include/odp/plat/atomic_types.h
> index 3cdcab8..0f6c353 100644
> --- a/platform/linux-generic/include/odp/plat/atomic_types.h
> +++ b/platform/linux-generic/include/odp/plat/atomic_types.h
> @@ -62,18 +62,10 @@ struct odp_atomic_u32_s {
>  })
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_atomic_u64_s odp_atomic_u64_t;
>
>  typedef struct odp_atomic_u32_s odp_atomic_u32_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/platform/linux-generic/include/odp/plat/barrier_types.h
> b/platform/linux-generic/include/odp/plat/barrier_types.h
> index c8c978d..b8e1d97 100644
> --- a/platform/linux-generic/include/odp/plat/barrier_types.h
> +++ b/platform/linux-generic/include/odp/plat/barrier_types.h
> @@ -30,16 +30,8 @@ struct odp_barrier_s {
>         odp_atomic_u32_t bar;    /**< Barrier counter */
>  };
>
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_barrier_s odp_barrier_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git
> a/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
> b/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
> index ee81872..d5bfb92 100644
> --- a/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
> +++ b/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
> @@ -21,10 +21,7 @@ extern "C" {
>  #include <odp/std_types.h>
>  #include <odp_config_internal.h>
>
> -/**
> - * @internal
> - * ODP recursive rwlock
> - */
> +/** @internal */
>  struct odp_rwlock_recursive_s {
>         odp_rwlock_t lock;                       /**< the lock */
>         int wr_owner;                            /**< write owner thread */
> @@ -32,16 +29,8 @@ struct odp_rwlock_recursive_s {
>         uint8_t  rd_cnt[_ODP_INTERNAL_MAX_THREADS]; /**< read recursion
> count */
>  };
>
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_rwlock_recursive_s odp_rwlock_recursive_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/platform/linux-generic/include/odp/plat/rwlock_types.h
> b/platform/linux-generic/include/odp/plat/rwlock_types.h
> index bd46e57..35d65de 100644
> --- a/platform/linux-generic/include/odp/plat/rwlock_types.h
> +++ b/platform/linux-generic/include/odp/plat/rwlock_types.h
> @@ -20,10 +20,7 @@ extern "C" {
>
>  #include <odp/atomic.h>
>
> -/**
> - * @internal
> - * ODP rwlock
> - */
> +/** @internal */
>  struct odp_rwlock_s {
>         odp_atomic_u32_t cnt; /**< lock count
>                                 0 lock not taken
> @@ -31,16 +28,8 @@ struct odp_rwlock_s {
>                                 >0 read lock(s) taken */
>  };
>
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_rwlock_s odp_rwlock_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git
> a/platform/linux-generic/include/odp/plat/spinlock_recursive_types.h
> b/platform/linux-generic/include/odp/plat/spinlock_recursive_types.h
> index cae47a4..2809277 100644
> --- a/platform/linux-generic/include/odp/plat/spinlock_recursive_types.h
> +++ b/platform/linux-generic/include/odp/plat/spinlock_recursive_types.h
> @@ -20,26 +20,15 @@ extern "C" {
>  #include <odp/spinlock.h>
>  #include <odp/std_types.h>
>
> -/**
> - * @internal
> - * ODP recursive spinlock
> - */
> +/** @internal */
>  struct odp_spinlock_recursive_s {
>         odp_spinlock_t lock; /**< the lock */
>         int owner;           /**< thread owning the lock */
>         uint32_t cnt;        /**< recursion count */
>  };
>
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_spinlock_recursive_s odp_spinlock_recursive_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/platform/linux-generic/include/odp/plat/spinlock_types.h
> b/platform/linux-generic/include/odp/plat/spinlock_types.h
> index 83d306b..3e0231d 100644
> --- a/platform/linux-generic/include/odp/plat/spinlock_types.h
> +++ b/platform/linux-generic/include/odp/plat/spinlock_types.h
> @@ -20,25 +20,13 @@ extern "C" {
>
>  #include <odp/std_types.h>
>
> -/**
> - * @internal
> - * ODP spinlock
> - */
> +/** @internal */
>  struct odp_spinlock_s {
>         char lock;  /**< lock flag, should match odp_atomic_flag_t */
>  };
>
> -
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_spinlock_s odp_spinlock_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/platform/linux-generic/include/odp/plat/ticketlock_types.h
> b/platform/linux-generic/include/odp/plat/ticketlock_types.h
> index be93085..73f9705 100644
> --- a/platform/linux-generic/include/odp/plat/ticketlock_types.h
> +++ b/platform/linux-generic/include/odp/plat/ticketlock_types.h
> @@ -20,25 +20,14 @@ extern "C" {
>
>  #include <odp/atomic.h>
>
> -/**
> - * @internal
> - * ODP ticketlock
> - */
> +/** @internal */
>  struct odp_ticketlock_s {
>         odp_atomic_u32_t  next_ticket; /**< Next ticket */
>         odp_atomic_u32_t  cur_ticket;  /**< Current ticket */
>  };
>
> -/** @addtogroup odp_synchronizers
> - *  @{
> - */
> -
>  typedef struct odp_ticketlock_s odp_ticketlock_t;
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/platform/linux-generic/include/odp/rwlock.h
> b/platform/linux-generic/include/odp/rwlock.h
> index ca88ff7..f9d8f5f 100644
> --- a/platform/linux-generic/include/odp/rwlock.h
> +++ b/platform/linux-generic/include/odp/rwlock.h
> @@ -19,14 +19,6 @@ extern "C" {
>
>  #include <odp/plat/rwlock_types.h>
>
> -/** @ingroup odp_synchronizers
> - *  @{
> - */
> -
> -/**
> - * @}
> - */
> -
>  #include <odp/api/rwlock.h>
>
>  #ifdef __cplusplus
> diff --git a/platform/linux-generic/include/odp/spinlock.h
> b/platform/linux-generic/include/odp/spinlock.h
> index 7dbb1c4..046fcfa 100644
> --- a/platform/linux-generic/include/odp/spinlock.h
> +++ b/platform/linux-generic/include/odp/spinlock.h
> @@ -19,14 +19,6 @@ extern "C" {
>
>  #include <odp/plat/spinlock_types.h>
>
> -/** @ingroup odp_synchronizers
> - *  @{
> - */
> -
> -/**
> - * @}
> - */
> -
>  #include <odp/api/spinlock.h>
>
>  #ifdef __cplusplus
> diff --git a/platform/linux-generic/include/odp/sync.h
> b/platform/linux-generic/include/odp/sync.h
> index 8cdab21..bc73083 100644
> --- a/platform/linux-generic/include/odp/sync.h
> +++ b/platform/linux-generic/include/odp/sync.h
> @@ -17,14 +17,6 @@
>  extern "C" {
>  #endif
>
> -/** @ingroup odp_synchronizers
> - *  @{
> - */
> -
> -/**
> - * @}
> - */
> -
>  #include <odp/api/sync.h>
>
>  #ifdef __cplusplus
> diff --git a/platform/linux-generic/include/odp/ticketlock.h
> b/platform/linux-generic/include/odp/ticketlock.h
> index 658e27f..d349151 100644
> --- a/platform/linux-generic/include/odp/ticketlock.h
> +++ b/platform/linux-generic/include/odp/ticketlock.h
> @@ -19,15 +19,6 @@ extern "C" {
>
>  #include <odp/plat/ticketlock_types.h>
>
> -/** @ingroup odp_synchronizers
> - *  Operations on ticket locks.
> - *  @{
> - */
> -
> -/**
> - * @}
> - */
> -
>  #include <odp/api/ticketlock.h>
>
>  #ifdef __cplusplus
> diff --git a/platform/linux-generic/include/odp_atomic_internal.h
> b/platform/linux-generic/include/odp_atomic_internal.h
> index 06fc16b..ce62368 100644
> --- a/platform/linux-generic/include/odp_atomic_internal.h
> +++ b/platform/linux-generic/include/odp_atomic_internal.h
> @@ -25,11 +25,6 @@
>  extern "C" {
>  #endif
>
> -/** @addtogroup odp_synchronizers
> - *  Atomic operations.
> - *  @{
> - */
> -
>  /**
>   * Pointer atomic type
>   */
> @@ -598,10 +593,6 @@ static inline void
> _odp_atomic_flag_clear(_odp_atomic_flag_t *flag)
>         __atomic_clear(flag, __ATOMIC_RELEASE);
>  }
>
> -/**
> - * @}
> - */
> -
>  #ifdef __cplusplus
>  }
>  #endif
> --
> 2.6.2
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp
>



-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to