]> git.proxmox.com Git - mirror_qemu.git/blobdiff - include/qemu/seqlock.h
Use #include "..." for our own headers, <...> for others
[mirror_qemu.git] / include / qemu / seqlock.h
index 70b01fd60d803f7352da578d5957d6deb0711a32..18eb3fda9de2d4b5bc6af4fcaa36318c75fbee92 100644 (file)
 #ifndef QEMU_SEQLOCK_H
 #define QEMU_SEQLOCK_H 1
 
-#include <qemu/atomic.h>
-#include <qemu/thread.h>
+#include "qemu/atomic.h"
+#include "qemu/thread.h"
 
 typedef struct QemuSeqLock QemuSeqLock;
 
 struct QemuSeqLock {
-    QemuMutex *mutex;
     unsigned sequence;
 };
 
-static inline void seqlock_init(QemuSeqLock *sl, QemuMutex *mutex)
+static inline void seqlock_init(QemuSeqLock *sl)
 {
-    sl->mutex = mutex;
     sl->sequence = 0;
 }
 
 /* Lock out other writers and update the count.  */
-static inline void seqlock_write_lock(QemuSeqLock *sl)
+static inline void seqlock_write_begin(QemuSeqLock *sl)
 {
-    if (sl->mutex) {
-        qemu_mutex_lock(sl->mutex);
-    }
     ++sl->sequence;
 
     /* Write sequence before updating other fields.  */
     smp_wmb();
 }
 
-static inline void seqlock_write_unlock(QemuSeqLock *sl)
+static inline void seqlock_write_end(QemuSeqLock *sl)
 {
     /* Write other fields before finalizing sequence.  */
     smp_wmb();
 
     ++sl->sequence;
-    if (sl->mutex) {
-        qemu_mutex_unlock(sl->mutex);
-    }
 }
 
 static inline unsigned seqlock_read_begin(QemuSeqLock *sl)