read_acquire 275 B

12345678910111213141516
  1. cat <<EOF
  2. static __always_inline ${ret}
  3. arch_${atomic}_read_acquire(const ${atomic}_t *v)
  4. {
  5. ${int} ret;
  6. if (__native_word(${atomic}_t)) {
  7. ret = smp_load_acquire(&(v)->counter);
  8. } else {
  9. ret = arch_${atomic}_read(v);
  10. __atomic_acquire_fence();
  11. }
  12. return ret;
  13. }
  14. EOF