Please find the flaw in following explanation:
33. Prove that sequential consistency is nonblocking!
I think otherwise. Counter-example is following:
A: ------enq(x)------------------deq(y)---------------->
B:--------enq(y)-------------------deq(x)-------------->
Possible sequential consistent reordering is
OP1 -> OP2 -> OP3 -> OP4
[enq(x), A] -> [<enq(y), B>] -> [<deq(x), B>] -> [<deq(y), A>]
Now if thread B is delayed in OP2