Add compatibility support for older intel cpus
[urcu.git] / urcu-pointer.c
index 1461c60f367b032276db9b301bf57e93488a063b..79ee72a08e7110ba67a44b80f834096543eaa379 100644 (file)
@@ -30,7 +30,7 @@
 
 extern void synchronize_rcu(void);
 
-void *rcu_dereference(void *p)
+void *rcu_dereference_sym(void *p)
 {
        return _rcu_dereference(p);
 }
@@ -50,14 +50,9 @@ void *rcu_xchg_pointer_sym(void **p, void *v)
 void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new)
 {
        wmb();
-       return uatomic_cmpxchg(p, old, _new);
-}
-
-void *rcu_publish_content_sym(void **p, void *v)
-{
-       void *oldptr;
+       if (likely(URCU_CAS_AVAIL()))
+               return uatomic_cmpxchg(p, old, _new);
 
-       oldptr = _rcu_xchg_pointer(p, v);
-       synchronize_rcu();
-       return oldptr;
+       /* Compatibility for i386. Old-timer. */
+       return compat_uatomic_cmpxchg(p, old, _new);
 }
This page took 0.022576 seconds and 4 git commands to generate.