__tm_retry (ICC Prototype STM support)

Robert Mullins
Total Points:
40
Registered User
July 9, 2009 2:28 AM PDT
Rate
 
#2 Reply to #1

__tm_retry is provided as an experimental language extension support in the compiler.  __tm_retry aborts the current transaction including all the outer transaction enclosing this transaction and retries the transaction starting from the outermost transaction.
Many thanks for your reply Ravi. 

I assume from the behaviour of the code below that __tm_retry simply spins rather than waiting for a change in the object state? Is there a simple way around this?

__attribute__((tm_callable))
void Queue::enq (int v) {

__tm_atomic {
// queue is full
if (count==MAX_LEN) __tm_retry;
buf[tail]=v;
if (++tail == MAX_LEN) tail=0;
count++;
}
//  cout << "enq" << endl;
}



Intel Software Network Forums Statistics

8488 users have contributed to 31627 threads and 100743 posts to date.
In the past 24 hours, we have 35 new thread(s) 136 new posts(s), and 196 new user(s).

In the past 3 days, the most popular thread for everyone has been gemm(A,A,A) like possible? The most posts were made to gemm(A,A,A) like possible? The post with the most views is Dear Steve, excuse me for a d

Please welcome our newest member chat1983