(1)-- LL by thread 2. lock = 2 (load linked)
                                                   ===============> any
operation here to that address will cause SC to fail due to isLocked logic
in SC
(2) --SC by thread 2 . lock = -1 (store conditional)
              ^
              |                          (3) --  LL by thread 3. lock  = 3
              |                          (4) -- SC by thread 3 . lock  =  -1
              |
              |  CR } at this point both thread 2 and 3 are in CR.
              |
             V
(5) -ST . lock =-1

Is the above scenario possible? I am not able to find logic that will
prevent thread 3 from executing LL and SC.

~ Anusha
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to