Signed-off-by: Darrell Ball
---
lib/ovs-atomic.h | 36
1 file changed, 36 insertions(+)
diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h
index 4664eef..19b49c8 100644
--- a/lib/ovs-atomic.h
+++ b/lib/ovs-atomic.h
@@ -479,6 +479,42 @@ atomic_count_set(atomic_count *count, unsigned int value)
atomic_store_relaxed(>count, value);
}
+static inline uint64_t
+atomic_count_inc64(atomic_uint64_t *counter)
+{
+uint64_t old;
+
+atomic_add_relaxed(counter, 1ull, );
+
+return old;
+}
+
+static inline uint64_t
+atomic_count_dec64(atomic_uint64_t *counter)
+{
+uint64_t old;
+
+atomic_sub_relaxed(counter, 1ull, );
+
+return old;
+}
+
+static inline uint64_t
+atomic_count_get64(atomic_uint64_t *counter)
+{
+uint64_t value;
+
+atomic_read_relaxed(counter, );
+
+return value;
+}
+
+static inline void
+atomic_count_set64(atomic_uint64_t *counter, uint64_t value)
+{
+atomic_store_relaxed(counter, value);
+}
+
/* Reference count. */
struct ovs_refcount {
atomic_uint count;
--
1.9.1
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev