On Wed, Jun 05, 2019 at 11:05:11PM -0700, Paul E. McKenney wrote: > > In case you were wondering, the reason that I was giving you such > a hard time was that from what I could see, you were pushing for no > {READ,WRITE}_ONCE() at all. ;-) Hmm, that's exactly what it should be in net/ipv4/inet_fragment.c. We don't need the READ_ONCE/WRITE_ONCE (or volatile marking) at all. Even if the compiler dices and slices the reads/writes of "a" into a thousand pieces, it should still work if the RCU primitives are worth their salt. But I do concede that in the general RCU case you must have the READ_ONCE/WRITE_ONCE calls for rcu_dereference/rcu_assign_pointer. Cheers, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt