Messages in this thread | | | Date | Fri, 20 Jan 2023 15:36:24 -0500 | From | Alan Stern <> | Subject | Re: Internal vs. external barriers (was: Re: Interesting LKMM litmus test) |
| |
On Fri, Jan 20, 2023 at 11:20:32AM -0800, Paul E. McKenney wrote: > On Fri, Jan 20, 2023 at 01:37:51PM -0500, Alan Stern wrote: > > srcu_read_unlock() does not need a full smp_mb(). > > That is quite possible, and that is what we are looking into. And testing > thus far agrees with you. But the grace-period ordering constraints > are quite severe, so this requires careful checking and severe testing.
If you're interested, I can provide a simple argument to show that the Fundamental Law of RCU would continue to hold with only a release fence. There is an added requirement: merely that synchronize_srcu() must have an smp_mb() somewhere after its final read of the unlock counters -- which your version of the algorithm already has.
Alan
| |