--To view this discussion on the web visit https://groups.google.com/d/msg/deuce-stm-developers/-/F2hcmsC7tpYJ.
You received this message because you are subscribed to the Google Groups "Deuce-STM developers" group.
To post to this group, send email to deuce-stm-...@googlegroups.com.
To unsubscribe from this group, send email to deuce-stm-develo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/deuce-stm-developers?hl=en.
Tiago,
You are right and the scenario that you are reporting is already published in the Issue 60 (http://code.google.com/p/deuce/issues/detail?id=60). I agree with you and I think the fix for this problem requires more knowledge about the locks, namely which transaction holds each lock.
So, I made a proposal to fix the Issue 60, that includes an additional parameter: byte[] contextLocks, in the method checkLock. Then this method can perform a validation to check for self-locking. I used the same test algorithm that is already made in the lock method of the same class.
I am currently using this fix in my tests with TL2 and now I can run successfully the StmBench7 and STAMP benchmarks.
Regards,
Fernando Miguel Carvalho
--
You received this message because you are subscribed to the Google Groups "Deuce-STM developers" group.
To view this discussion on the web visit https://groups.google.com/d/msg/deuce-stm-developers/-/kXw78LjYhEwJ.
To post to this group, send email to deuce-stm-...@googlegroups.com.
To unsubscribe from this group, send email to deuce-stm-develo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/deuce-stm-developers?hl=en.
Ok, I have already done a pull request with a fix proposal to the issue 15.
Yes, I need to instrument the Java runtime library (rt.jar) and I use the following exclude statement both in the offline instrumentation and also during the execution of the StmBench7, because the Deuce runtime should avoid the invocation of the transactional methods for classed that have been excluded.
-Dorg.deuce.exclude=sun.*,java.lang.Thread,java.lang.ThreadLocal,java.lang.Exception,java.lang.Class,java.lang.System,java.lang.Enum