hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/tools/memory-model/linux-kernel.def
....@@ -23,6 +23,8 @@
2323 smp_mb__before_atomic() { __fence{before-atomic}; }
2424 smp_mb__after_atomic() { __fence{after-atomic}; }
2525 smp_mb__after_spinlock() { __fence{after-spinlock}; }
26
+smp_mb__after_unlock_lock() { __fence{after-unlock-lock}; }
27
+barrier() { __fence{barrier}; }
2628
2729 // Exchange
2830 xchg(X,V) __xchg{mb}(X,V)
....@@ -46,6 +48,12 @@
4648 synchronize_rcu() { __fence{sync-rcu}; }
4749 synchronize_rcu_expedited() { __fence{sync-rcu}; }
4850
51
+// SRCU
52
+srcu_read_lock(X) __srcu{srcu-lock}(X)
53
+srcu_read_unlock(X,Y) { __srcu{srcu-unlock}(X,Y); }
54
+synchronize_srcu(X) { __srcu{sync-srcu}(X); }
55
+synchronize_srcu_expedited(X) { __srcu{sync-srcu}(X); }
56
+
4957 // Atomic
5058 atomic_read(X) READ_ONCE(*X)
5159 atomic_set(X,V) { WRITE_ONCE(*X,V); }