I have a question regarding LL/SC implementation in gem5.

For example, if thread 1 performs a LL operation, it sets locked flag to
context id. During SC operation, lock flag is cleared.
It releases the lock using normal store and lock flag is cleared during any
WB.

If another thread (id 2) tries to perform a LL operation, while thread 1 is
in CR, it will set flag to its context id.

The question I have is what will prevent  thread 2 SC from succeeding while
thread 1 is in CR. I am unable to find a condition that checks if another
thread is executing CR.

I would really appreciate if someone could clarify this for me.

Thanks,
Anusha
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to