Link [ NetBSD | NetBSD OpenGrok source search | PR fulltext-search | Summary of daily snapshot builds | history of daily build result | pkgsrc commit viewer ]


   
        usage: [branch:branch] [user:user] [path@revision] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN sys/arch/arm, if_wm.c@1.234 )




switch to index mode

recent branches: MAIN (4h)  netbsd-10 (30d)  netbsd-9 (30d)  netbsd-8 (35d) 

2024-06-16 05:08:27 UTC Now

2021-12-19 01:18:02 UTC MAIN commitmail json YAML

RCU pointer fixes.

- Use __typeof__, not typeof.
- Use membar_exit, not membar_producer.
  => We want a store-release, not store/store barrier.
  => Consider:
      foo->x = 42;
      assert(foo->x == 42);
      rcu_assign_pointer(globalfoo, foo);
    The foo->x load can be reordered past the store/store barrier
    (membar_producer), and happen after another thread has clobbered
    foo->x.
- Put the evaluation of the right-hand side before the barrier.

(riastradh)