On Mon, Jan 23, 2023 at 05:16:27PM +0100, Jonas Oberhauser wrote:
On 1/19/2023 5:41 PM, Alan Stern wrote:You mean changing the definition of pb to either:
But when you're comparing grace periods or critical sections to each other,Aha, I see! Powerful notation indeed.
things get a little ambiguous. Should G1 be considered to come before
G2 when t1(G1) < t1(G2), when t2(G1) < t2(G2), or when t2(G1) < t1(G2)?
Springing for (po ; rcu-order ; po?) amounts to choosing the second
alternative.
Keeping that in mind, wouldn't it make sense for pb also be changed to
`...;po?` ?
prop ; strong-fence ; hb* ; po? ; [Marked]
or
prop ; strong-fence ; hb* ; [Marked] ; po? ; [Marked]
rcu-fence is different because rcu-order has to begin and end withI believe so do the strong ordering-operations in pb.
either a grace period or a critical section, and both of these restrict
the execution order of surrounding events:
If X is a synchronize_rcu() or rcu_read_unlock() then events
po-before X must execute before X;
If X is a synchronize_rcu() or rcu_read_lock() then events
po-after X must execute after X.