X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=urcu.c;h=7b75d4c545da73765d78fa168d628d3d4513e9f5;hb=cf5271eed768bea133b1916eca1d1917920e3105;hp=67a3eb21c8996b0751f9fc1d14ed9d71379f8bf5;hpb=fdf01eeda9f634a32db3fc90cd342da08d7a259d;p=urcu.git diff --git a/urcu.c b/urcu.c index 67a3eb2..7b75d4c 100644 --- a/urcu.c +++ b/urcu.c @@ -132,7 +132,7 @@ static void switch_next_rcu_qparity(void) static void smp_mb_heavy(void) { if (likely(has_sys_membarrier)) - membarrier(1); + membarrier(MEMBARRIER_EXPEDITED); else smp_mb(); } @@ -392,7 +392,7 @@ void rcu_init(void) if (init_done) return; init_done = 1; - if (!membarrier(1)) + if (!membarrier(MEMBARRIER_EXPEDITED | MEMBARRIER_QUERY)) has_sys_membarrier = 1; } #endif