diff options
author | Richard Braun <rbraun@sceen.net> | 2017-07-02 11:23:22 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-07-02 11:23:22 +0200 |
commit | a3e0c923aa805b8bce6aa370960ecd8cb5ff3ecf (patch) | |
tree | 9ec289c5b3eacdff297a534ad09071c546d50639 | |
parent | b041edd4557f7b96be6e6c6d7d13772b3d7040f1 (diff) |
kern/rdxtree: provide a lockless-aware slot load accessor
-rw-r--r-- | kern/rdxtree.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kern/rdxtree.h b/kern/rdxtree.h index 02ae048..a30512c 100644 --- a/kern/rdxtree.h +++ b/kern/rdxtree.h @@ -29,6 +29,8 @@ #include <stddef.h> #include <stdint.h> +#include <kern/llsync.h> + typedef uint64_t rdxtree_key_t; /* @@ -154,6 +156,12 @@ rdxtree_lookup_slot(const struct rdxtree *tree, rdxtree_key_t key) return rdxtree_lookup_common(tree, key, 1); } +static inline void * +rdxtree_load_slot(void **slot) +{ + return llsync_read_ptr(*slot); +} + /* * Replace a pointer in a tree. * |