Re: [Gems-users] prefetch question


Date: Tue, 8 Jun 2010 16:25:06 +0800
From: Jerry Lin <cosjerry@xxxxxxxxx>
Subject: Re: [Gems-users] prefetch question
Hi,
I have a few questions about the prefetch for store.
 
we issue prefetch for store 1) when source of store is not ready && 2) we are not using WriteBuffer. The purpose is just to make sure that 
store hit when issued to data$.
Does it mean that this kind of prefetch isn't a real prefetch for system, but for the implementation of simulator?
Then if I comment out the calling of the prefetch function, will it exert an influence on the correctness of the simulation?
 
Thanks for your reply.
 
 
2010/6/7 Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>
Is there any other place to modify?
My answer was for Software prefetches. You still see prefetch count in ruby dump file is due to Hardware prefetches.Go to opal/config/config.defaults and disable all hardware Prefetchers,such as DL1_STREAM_BUFFERS.

opal uses rubycache_t::prefetch () to issue all prefetch types (Software+Hardware) to Ruby. just grep this function in some files just as rubycache_t
,memop.C, etc to get an idea about prefetches.

I am a little confused that why prefetch request is issued when meeting store request.
we issue prefetch for store 1) when source of store is not ready && 2) we are not using WriteBuffer. The purpose is just to make sure that 
store hit when issued to data$.

I trace the code but I can't find out where this Execute function is called.
 see dynamic_inst_t::Schedule(). its called at "case EXECUTE_STAGE"


Regards,
Muhammad abid


From: Jerry Lin <cosjerry@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Monday, June 7, 2010 18:01:17
Subject: Re: [Gems-users] prefetch question

Thanks for answering.
But the prefetch count in ruby dump file is still non-zero after I comment out the lines as your reply shown.
Is there any other place to modify?
I trace the code but I can't find out where this Execute function is called.
I also try to comment out the "prefetch" function in "store_inst_t::continueExecution()" in opal/system/memop.C
And it seems still doesn't work.
I am a little confused that why prefetch request is issued when meeting store request.
 
Thanks again.
2010/6/7 Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>
hi,
     when prefetch inst gets executed the following member funtcion from memop.C file called:

    void  prefetch_inst_t::Execute( void ) {
  STAT_INC( m_pseq->m_stat_prefetches_exec[m_proc] );
//  trap_type_t t = addressGenerate( OPAL_LOAD );
//this can only be true for Non i/o and non mmu prefetches
//  if (t != Trap_NoTrap) {
    /* couldn't correctly generate address -- we're done! */
    SetStage( COMPLETE_STAGE );
    return;
//  }

  /* can't complete I/O accesses, and moreover they are uncacheable */
 //We dont need to set trap to Trap_Use_Functional bec prefetch inst dont affect program regs
/*  if ( m_physical_addr != (pa_t) -1 &&
       isIOAccess( m_physical_addr ) ) {
    SetStage( COMPLETE_STAGE );
    STAT_INC( m_pseq->m_stat_count_io_access[m_proc] ); 
    return;
  }
 /////////////// no lsq or WB concept for prefetches
  if ( isCacheable() ) {
    ASSERT( m_physical_addr != (pa_t) -1 );

    //set address to be valid
    m_addr_valid = true;

    if (!accessCache())//accessCache() always ret true
      return;
  } // is cacheable

  Complete();
*/
}

comment out as shown above.
what i am doing is just setting  stage to "COMPLETE_STAGE" and returning.



Regards,
Muhammad abid


From: Jerry Lin <cosjerry@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Monday, June 7, 2010 15:15:08
Subject: [Gems-users] prefetch question

Hello all,
When I running workloads with Ruby and Opal using default configuration, the prefetch count in the dump file won't be zero.
Is there any configuration to turn on/off the prefetcher?
Or is there any modification can be done to turn on/off the prefetcher?
 
Thanks for helping.


_______________________________________________
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→]