diff options
author | Richard Braun <rbraun@sceen.net> | 2018-02-23 09:45:18 +0100 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2018-02-23 09:45:18 +0100 |
commit | 5df0aba1129b292f41f83ac679fd46a52bc9af3e (patch) | |
tree | f7214958e52b1833f0e7a35c0050ad5020ce9106 /src/rdxtree.c | |
parent | 5fd332d8fbda137909c777929aebfd69b2a35fa4 (diff) |
Replace "llsync" with "rcu"
Diffstat (limited to 'src/rdxtree.c')
-rw-r--r-- | src/rdxtree.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/rdxtree.c b/src/rdxtree.c index 3df6ccb..d5fc7ee 100644 --- a/src/rdxtree.c +++ b/src/rdxtree.c @@ -211,7 +211,7 @@ rdxtree_node_insert(struct rdxtree_node *node, unsigned short index, assert(node->entries[index] == NULL); node->nr_entries++; - llsync_store_ptr(node->entries[index], entry); + rcu_store_ptr(node->entries[index], entry); } static inline void @@ -228,7 +228,7 @@ rdxtree_node_remove(struct rdxtree_node *node, unsigned short index) assert(node->entries[index] != NULL); node->nr_entries--; - llsync_store_ptr(node->entries[index], NULL); + rcu_store_ptr(node->entries[index], NULL); } static inline void * @@ -240,7 +240,7 @@ rdxtree_node_find(struct rdxtree_node *node, unsigned short *indexp) index = *indexp; while (index < ARRAY_SIZE(node->entries)) { - ptr = rdxtree_entry_addr(llsync_load_ptr(node->entries[index])); + ptr = rdxtree_entry_addr(rcu_load_ptr(node->entries[index])); if (ptr != NULL) { *indexp = index; @@ -328,7 +328,7 @@ rdxtree_shrink(struct rdxtree *tree) rdxtree_node_unlink(rdxtree_entry_addr(entry)); } - llsync_store_ptr(tree->root, entry); + rcu_store_ptr(tree->root, entry); rdxtree_node_schedule_destruction(node); } } @@ -376,7 +376,7 @@ rdxtree_grow(struct rdxtree *tree, rdxtree_key_t key) rdxtree_node_insert(node, 0, tree->root); tree->height++; - llsync_store_ptr(tree->root, rdxtree_node_to_entry(node)); + rcu_store_ptr(tree->root, rdxtree_node_to_entry(node)); root = node; } while (new_height > tree->height); @@ -399,7 +399,7 @@ rdxtree_cleanup(struct rdxtree *tree, struct rdxtree_node *node) if (node->parent == NULL) { tree->height = 0; - llsync_store_ptr(tree->root, NULL); + rcu_store_ptr(tree->root, NULL); rdxtree_node_schedule_destruction(node); break; } @@ -454,7 +454,7 @@ rdxtree_insert_common(struct rdxtree *tree, rdxtree_key_t key, return EBUSY; } - llsync_store_ptr(tree->root, ptr); + rcu_store_ptr(tree->root, ptr); if (slotp != NULL) { *slotp = &tree->root; @@ -482,7 +482,7 @@ rdxtree_insert_common(struct rdxtree *tree, rdxtree_key_t key, } if (prev == NULL) { - llsync_store_ptr(tree->root, rdxtree_node_to_entry(node)); + rcu_store_ptr(tree->root, rdxtree_node_to_entry(node)); } else { rdxtree_node_link(node, prev, index); rdxtree_node_insert_node(prev, index, node); @@ -531,7 +531,7 @@ rdxtree_insert_alloc_common(struct rdxtree *tree, void *ptr, if (unlikely(height == 0)) { if (tree->root == NULL) { - llsync_store_ptr(tree->root, ptr); + rcu_store_ptr(tree->root, ptr); *keyp = 0; if (slotp != NULL) { @@ -627,7 +627,7 @@ rdxtree_remove(struct rdxtree *tree, rdxtree_key_t key) node = rdxtree_entry_addr(tree->root); if (unlikely(height == 0)) { - llsync_store_ptr(tree->root, NULL); + rcu_store_ptr(tree->root, NULL); return node; } @@ -666,7 +666,7 @@ rdxtree_lookup_common(const struct rdxtree *tree, rdxtree_key_t key, unsigned short height, shift, index; void *entry; - entry = llsync_load_ptr(tree->root); + entry = rcu_load_ptr(tree->root); if (entry == NULL) { node = NULL; @@ -697,7 +697,7 @@ rdxtree_lookup_common(const struct rdxtree *tree, rdxtree_key_t key, prev = node; index = (unsigned short)(key >> shift) & RDXTREE_RADIX_MASK; - entry = llsync_load_ptr(node->entries[index]); + entry = rcu_load_ptr(node->entries[index]); node = rdxtree_entry_addr(entry); shift -= RDXTREE_RADIX; height--; @@ -721,7 +721,7 @@ rdxtree_replace_slot(void **slot, void *ptr) old = *slot; assert(old != NULL); rdxtree_assert_alignment(old); - llsync_store_ptr(*slot, ptr); + rcu_store_ptr(*slot, ptr); return old; } @@ -733,7 +733,7 @@ rdxtree_walk_next(struct rdxtree *tree, struct rdxtree_iter *iter) rdxtree_key_t key; void *entry; - entry = llsync_load_ptr(tree->root); + entry = rcu_load_ptr(tree->root); if (entry == NULL) { return NULL; @@ -829,7 +829,7 @@ rdxtree_remove_all(struct rdxtree *tree) if (tree->height == 0) { if (tree->root != NULL) { - llsync_store_ptr(tree->root, NULL); + rcu_store_ptr(tree->root, NULL); } return; |