Re: [Gems-users] LogTM: failed assertion 'isReady(request)'


Date: Wed, 24 Jan 2007 12:48:51 +0800
From: 郭锐 <timmyguo@xxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] LogTM: failed assertion 'isReady(request)'
As you wish. But remember that this is not official fix.
This stalls a store_xact until the corresponding log store hits.
It works, but may bring a penalty to the overall performance. Because
the log should only be needed when aborting and should not cause stall
in normal situation.

Index: SimicsProcessor.C
===================================================================
--- SimicsProcessor.C	(revision 16)
+++ SimicsProcessor.C	(revision 17)
@@ -400,6 +400,7 @@
 
   // update the request status
   m_active_requests[idx].status = Serving;
+  int log_hit = 1;
   
   // Log in cache
   if(request.m_Type == CacheRequestType_ST_XACT){
@@ -449,6 +450,7 @@
                         false);
         assert(m_sequencer->isReady(logMsg));
         m_sequencer->makeRequest(logMsg);
+		log_hit = m_active_requests[log_idx].status == Done;
         m_xact_mgr->incrementLogPointer();
       } else {
         // dup request, do nothing
@@ -461,7 +463,7 @@
   //cout << "  " << m_xact_mgr->getID() << " issuing: " << request.getType() << endl;
   m_sequencer->makeRequest(request);
 
-  if (m_active_requests[idx].status == Done) {
+  if (m_active_requests[idx].status == Done && log_hit) {
 
     // This case is for the fast path.  That is, the data is in our
     // cache with the correct permissions.

> -----Original Message-----
> From: gems-users-bounces@xxxxxxxxxxx [mailto:gems-users-bounces@xxxxxxxxxxx]
> On Behalf Of yoo@xxxxxxxxxxxxxx
> Sent: Wednesday, January 24, 2007 3:32 AM
> To: Gems Users
> Subject: Re: [Gems-users] LogTM: failed assertion 'isReady(request)'
> 
> That I already know of.
> 
> Can you be more specific?
> Like which part of the code should be modified how?
> 
> I appreciate your help.
> 
> 
> -Richard
> 
> 
> On Tue, January 23, 2007 11:47 am, ¹ùÈñ wrote:
> > This is a known issue. But the fix has not been released yet.
> > It's quit easy to fix it on your own. I have succeeded running radix
> > kernel on Ruby. Good luck!
> >
> > Reason:
> > a bug in SimicsProcessor.makeRequest that cause assertion failure when a
> > transaction store hits but the corresponding log store misses. In such a
> > situation, the processor will not stall, and flushes the active request
> > for the log store. When the log store hits later, an assertion failure
> > would arise.
> >
> >> -----Original Message-----
> >> From: gems-users-bounces@xxxxxxxxxxx
> >>
> > [mailto:gems-users-bounces@xxxxxxxxxxx]
> >
> >> On Behalf Of yoo@xxxxxxxxxxxxxx
> >> Sent: Tuesday, January 23, 2007 3:32 AM
> >> To: gems-users@xxxxxxxxxxx
> >> Subject: [Gems-users] LogTM: failed assertion 'isReady(request)'
> >>
> >>
> >> Hi,
> >>
> >>
> >> I've been trying to run SPLASH-2 benchmark suite on LogTM by changing
> >> coarse-grained locks into transactions. However, for most of the
> >> applications I get the following error:
> >>
> >> failed assertion 'isReady(request)' at fn void
> >> Sequencer::makeRequest(const CacheMsg&) in system/Sequencer.C:487
> >> failed assertion 'isReady(request)' at fn void
> >> Sequencer::makeRequest(const CacheMsg&) in system/Sequencer.C:487
> >> At this point you might want to attach a debug to the running and get to
> >>
> > the
> >> crash site; otherwise press enter to continue
> >>
> >> I know this issue has been discussed before, but was the fixed
> >> released? I'm using GEMS release 1.3.1. The above error occurred with
> >> both SIMICS 2.2.19 and 3.0.22.
> >>
> >>
> >> Please let me know
> >>
> >>
> >>
> >> -Richard
> >>
> >>
> >> _______________________________________________
> >> Gems-users mailing list
> >> Gems-users@xxxxxxxxxxx
> >> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> >> Use Google to search the GEMS Users mailing list by adding
> >> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >>
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> > "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >
> >
> 
> 
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


[← Prev in Thread] Current Thread [Next in Thread→]