5 #ifndef _RTE_SEQLOCK_H_
6 #define _RTE_SEQLOCK_H_
95 #include <rte_compat.h>
110 #define RTE_SEQLOCK_INITIALIZER \
112 .count = RTE_SEQCOUNT_INITIALIZER, \
113 .lock = RTE_SPINLOCK_INITIALIZER \
155 static inline uint32_t
218 __rte_exclusive_lock_function(&seqlock->lock)
244 __rte_unlock_function(&seqlock->lock)
static __rte_experimental uint32_t rte_seqlock_read_begin(const rte_seqlock_t *seqlock)
static __rte_experimental void rte_seqlock_write_unlock(rte_seqlock_t *seqlock)
static void rte_spinlock_lock(rte_spinlock_t *sl)
static __rte_experimental void rte_seqcount_init(rte_seqcount_t *seqcount)
static __rte_experimental bool rte_seqcount_read_retry(const rte_seqcount_t *seqcount, uint32_t begin_sn)
static void rte_spinlock_unlock(rte_spinlock_t *sl)
static __rte_experimental void rte_seqlock_write_lock(rte_seqlock_t *seqlock)
static void rte_spinlock_init(rte_spinlock_t *sl)
static __rte_experimental void rte_seqcount_write_begin(rte_seqcount_t *seqcount)
static __rte_experimental bool rte_seqlock_read_retry(const rte_seqlock_t *seqlock, uint32_t begin_sn)
static __rte_experimental uint32_t rte_seqcount_read_begin(const rte_seqcount_t *seqcount)
static __rte_experimental void rte_seqcount_write_end(rte_seqcount_t *seqcount)
static __rte_experimental void rte_seqlock_init(rte_seqlock_t *seqlock)