changes
authorPeizhao Ou <peizhaoo@uci.edu>
Tue, 17 Mar 2015 19:59:17 +0000 (12:59 -0700)
committerPeizhao Ou <peizhaoo@uci.edu>
Tue, 17 Mar 2015 19:59:17 +0000 (12:59 -0700)
chase-lev-deque-bugfix/note.txt
chase-lev-deque-bugfix/testcase5.c

index 88183f8283485c49ce7a84251e5607eddb3fb6c2..1a38a48147d4e7bf0d6e435e873c700dc700166d 100644 (file)
@@ -53,3 +53,10 @@ Establish hb between take() and steal() when there's only one element in the
 deque, and take() gets the last element. The hb ensures that the steal() will
 see the updated bottom in take(). However, since fence (w34) is SC, w33 MAY be
 relaxed.
+!!! w33 can be relaxed since w34 is an SC fence. Probably w12 doesn't have to be
+release since w8 is an SC fence too, so it will have establish hb between the
+fences.
+
+##################################################
+testcase5.c is a testcase that has 2 threads, 1 of which has 1 steal() and the
+other has 3 push() followed by 2 take().
index f171a394fca62ea310a1e4114d5299af0e7135a3..0d6d3e41ec23476aca3f90c0e0de09d14bdc3b4f 100644 (file)
@@ -27,9 +27,9 @@ int user_main(int argc, char **argv)
        thrd_create(&t1, task, 0);
        //thrd_create(&t2, task, 0);
        push(q, 2);
-       //push(q, 3);
-       //a=take(q);
-       //c=take(q);
+       push(q, 3);
+       a=take(q);
+       c=take(q);
        thrd_join(t1);
        //thrd_join(t2);