diff mbox series

[ovs-dev,v13,5/8] ovs-atomic: Add 64 bit apis.

Message ID 1550100861-2086-6-git-send-email-dlu998@gmail.com
State Accepted
Headers show
Series Userspace datapath: Add fragmentation support. | expand

Commit Message

Darrell Ball Feb. 13, 2019, 11:34 p.m. UTC
Signed-off-by: Darrell Ball <dlu998@gmail.com>
---
 lib/ovs-atomic.h | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
diff mbox series

Patch

diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h
index 21e230e..11fa192 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->count, value);
 }
 
+static inline uint64_t
+atomic_count_inc64(atomic_uint64_t *counter)
+{
+    uint64_t old;
+
+    atomic_add_relaxed(counter, 1ull, &old);
+
+    return old;
+}
+
+static inline uint64_t
+atomic_count_dec64(atomic_uint64_t *counter)
+{
+    uint64_t old;
+
+    atomic_sub_relaxed(counter, 1ull, &old);
+
+    return old;
+}
+
+static inline uint64_t
+atomic_count_get64(atomic_uint64_t *counter)
+{
+    uint64_t value;
+
+    atomic_read_relaxed(counter, &value);
+
+    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;