summaryrefslogtreecommitdiffstats
path: root/include/qemu/queue.h
diff options
context:
space:
mode:
authorMike Day <ncmike@ncultra.org>2013-08-27 11:38:45 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2015-02-16 17:30:19 +0100
commit341774fe6ccdc0fe42fb79a4ed642e78237da428 (patch)
tree06281b1e0a3f736b4b9caeca15f39c672c08b138 /include/qemu/queue.h
parent79e2b9aeccedbfde762b05da662132c7fda292be (diff)
downloadhqemu-341774fe6ccdc0fe42fb79a4ed642e78237da428.zip
hqemu-341774fe6ccdc0fe42fb79a4ed642e78237da428.tar.gz
rcu: introduce RCU-enabled QLIST
Add RCU-enabled variants on the existing bsd DQ facility. Each operation has the same interface as the existing (non-RCU) version. Also, each operation is implemented as macro. Using the RCU-enabled QLIST, existing QLIST users will be able to convert to RCU without using a different list interface. Signed-off-by: Mike Day <ncmike@ncultra.org> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qemu/queue.h')
-rw-r--r--include/qemu/queue.h11
1 files changed, 0 insertions, 11 deletions
diff --git a/include/qemu/queue.h b/include/qemu/queue.h
index c602797..8094150 100644
--- a/include/qemu/queue.h
+++ b/include/qemu/queue.h
@@ -139,17 +139,6 @@ struct { \
(elm)->field.le_prev = &(head)->lh_first; \
} while (/*CONSTCOND*/0)
-#define QLIST_INSERT_HEAD_RCU(head, elm, field) do { \
- (elm)->field.le_prev = &(head)->lh_first; \
- (elm)->field.le_next = (head)->lh_first; \
- smp_wmb(); /* fill elm before linking it */ \
- if ((head)->lh_first != NULL) { \
- (head)->lh_first->field.le_prev = &(elm)->field.le_next; \
- } \
- (head)->lh_first = (elm); \
- smp_wmb(); \
-} while (/* CONSTCOND*/0)
-
#define QLIST_REMOVE(elm, field) do { \
if ((elm)->field.le_next != NULL) \
(elm)->field.le_next->field.le_prev = \
OpenPOWER on IntegriCloud