Re: [Gems-users] How to abort a transaction at commit time


Date: Mon, 28 Jul 2008 16:00:08 +0200
From: "Rubén Titos" <rtitos@xxxxxxxxxxx>
Subject: Re: [Gems-users] How to abort a transaction at commit time
Dear Dan,

I just run into a simple bug that remains silent most of the time, but appears when running transactional apps if you previously compile without the  -DNO_VECTOR_BOUNDS_CHECKS flag.
The error is obvious (in SimicsProcessor.C): When the outcome of the memory transaction is 2, the active request vector is cleared and right after such vector is accessed to set the status (see code fragment below).

Cheers,

Ruben


-----------------------
$GEMS/ruby/simics/SimicsProcessor.C:364

    if (XACT_MEMORY){
          ...
        } else if (outcome == 2) {
          clearActiveRequestVector();
           m_active_requests[idx].status = Retry;       
        } else {
          ...
        } 
      }           


--
Rubén Titos
Parallel Computing and Architecture Group
Computer Engineering Dept.
University of Murcia
http://skywalker.inf.um.es/~rtitos/
[← Prev in Thread] Current Thread [Next in Thread→]
  • Re: [Gems-users] How to abort a transaction at commit time, Rubén Titos <=