11c27b644SPaul E. McKenney                                  Prior Operation     Subsequent Operation
21c27b644SPaul E. McKenney                                  ---------------  ---------------------------
31c27b644SPaul E. McKenney                               C  Self  R  W  RWM  Self  R  W  DR  DW  RMW  SV
41c27b644SPaul E. McKenney                              __  ----  -  -  ---  ----  -  -  --  --  ---  --
51c27b644SPaul E. McKenney
61c27b644SPaul E. McKenneyStore, e.g., WRITE_ONCE()            Y                                       Y
71c27b644SPaul E. McKenneyLoad, e.g., READ_ONCE()              Y                              Y        Y
81c27b644SPaul E. McKenneyUnsuccessful RMW operation           Y                              Y        Y
91c27b644SPaul E. McKenneysmp_read_barrier_depends()              Y                       Y   Y
101c27b644SPaul E. McKenney*_dereference()                      Y                          Y   Y        Y
111c27b644SPaul E. McKenneySuccessful *_acquire()               R                   Y  Y   Y   Y    Y   Y
121c27b644SPaul E. McKenneySuccessful *_release()         C        Y  Y    Y     W                      Y
131c27b644SPaul E. McKenneysmp_rmb()                               Y       R        Y      Y        R
141c27b644SPaul E. McKenneysmp_wmb()                                  Y    W           Y       Y    W
151c27b644SPaul E. McKenneysmp_mb() & synchronize_rcu()  CP        Y  Y    Y        Y  Y   Y   Y    Y
161c27b644SPaul E. McKenneySuccessful full non-void RMW  CP     Y  Y  Y    Y     Y  Y  Y   Y   Y    Y   Y
171c27b644SPaul E. McKenneysmp_mb__before_atomic()       CP        Y  Y    Y        a  a   a   a    Y
181c27b644SPaul E. McKenneysmp_mb__after_atomic()        CP        a  a    Y        Y  Y   Y   Y
191c27b644SPaul E. McKenney
201c27b644SPaul E. McKenney
211c27b644SPaul E. McKenneyKey:	C:	Ordering is cumulative
221c27b644SPaul E. McKenney	P:	Ordering propagates
231c27b644SPaul E. McKenney	R:	Read, for example, READ_ONCE(), or read portion of RMW
241c27b644SPaul E. McKenney	W:	Write, for example, WRITE_ONCE(), or write portion of RMW
251c27b644SPaul E. McKenney	Y:	Provides ordering
261c27b644SPaul E. McKenney	a:	Provides ordering given intervening RMW atomic operation
271c27b644SPaul E. McKenney	DR:	Dependent read (address dependency)
281c27b644SPaul E. McKenney	DW:	Dependent write (address, data, or control dependency)
291c27b644SPaul E. McKenney	RMW:	Atomic read-modify-write operation
301c27b644SPaul E. McKenney	SV	Same-variable access
31