diff options
author | Keir Fraser <keir@xen.org> | 2011-05-09 09:25:23 +0100 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2011-05-09 09:25:23 +0100 |
commit | 8dc6738dbb3c6117fb7e30617609f6d41e19d3b4 (patch) | |
tree | a59eea5fb0832e92f0c51c06807821db76a252a4 /xen/include/xen/rcupdate.h | |
parent | 31915b333f5413d3be1f9f90aace5bf8b3cedab0 (diff) | |
download | xen-8dc6738dbb3c6117fb7e30617609f6d41e19d3b4.tar.gz xen-8dc6738dbb3c6117fb7e30617609f6d41e19d3b4.tar.bz2 xen-8dc6738dbb3c6117fb7e30617609f6d41e19d3b4.zip |
Update radix-tree.[ch] from upstream Linux to gain RCU awareness.
We still leave behind features we don't need such as tagged nodes.
Other changes:
- Allow callers to define their own node alloc routines.
- Only allocate per-node rcu_head when using the default RCU-safe
alloc routines.
- Keep our own radix_tree_destroy().
In future it may also be worth getting rid of the complex and
pointless special-casing of radix-tree height==0, in which a single
data item can be stored directly in radix_tree_root. It introduces a
whole lot of special cases and complicates RCU handling. If we get rid
of it we can reclaim the 'indirect pointer' tag in bit 0 of every slot
entry.
Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/xen/rcupdate.h')
-rw-r--r-- | xen/include/xen/rcupdate.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/include/xen/rcupdate.h b/xen/include/xen/rcupdate.h index 09802bd622..f357441170 100644 --- a/xen/include/xen/rcupdate.h +++ b/xen/include/xen/rcupdate.h @@ -38,6 +38,8 @@ #include <xen/cpumask.h> #include <xen/preempt.h> +#define __rcu + /** * struct rcu_head - callback structure for use with RCU * @next: next update requests in a list |