No, I'm not using mercurial queues.  It's on the "things I need to do but
don't yet" list.

On Mon, Sep 14, 2009 at 6:21 PM, nathan binkert <[email protected]> wrote:

> Are you not using mercurial queues?  Generally, you don't get merge
> changesets when you do.  Either way, it's not a major problem, but you
> can keep the history cleaner if you do.
>
>  Nate
>
> On Mon, Sep 14, 2009 at 3:14 PM, Derek Hower <[email protected]> wrote:
> > # HG changeset patch
> > # User Derek Hower <[email protected]>
> > # Date 1251213023 18000
> > # Node ID 19e532a296e0975cf7918b4d7e9ef80f1d392cac
> > # Parent  e0c1c6d876499dc536cfdf0cd37736051f1fb760
> > # Parent  c47323cc8f988feaf0718626f80a1b7a5bdca18f
> > Automated merge with ssh://[email protected]/m5
> >
> > diff --git a/src/mem/ruby/config/MI_example-homogeneous.rb
> b/src/mem/ruby/config/MI_example-homogeneous.rb
> > --- a/src/mem/ruby/config/MI_example-homogeneous.rb
> > +++ b/src/mem/ruby/config/MI_example-homogeneous.rb
> > @@ -34,6 +34,13 @@
> >   elsif $*[i] == "-m"
> >     num_memories = $*[i+1].to_i
> >     i = i+1
> > +  elsif $*[i] == "-R"
> > +    if $*[i+1] == "rand"
> > +      RubySystem.random_seed = "rand"
> > +    else
> > +      RubySystem.random_seed = $*[i+1].to_i
> > +    end
> > +    i = i+ 1
> >   elsif $*[i] == "-s"
> >     memory_size_mb = $*[i+1].to_i
> >     i = i + 1
> > diff --git a/src/mem/ruby/config/TwoLevel_SplitL1UnifiedL2.rb
> b/src/mem/ruby/config/TwoLevel_SplitL1UnifiedL2.rb
> > --- a/src/mem/ruby/config/TwoLevel_SplitL1UnifiedL2.rb
> > +++ b/src/mem/ruby/config/TwoLevel_SplitL1UnifiedL2.rb
> > @@ -40,6 +40,13 @@
> >   elsif $*[i] == "-p"
> >     num_cores = $*[i+1].to_i
> >     i = i+1
> > +  elsif $*[i] == "-R"
> > +    if $*[i+1] == "rand"
> > +      RubySystem.random_seed = "rand"
> > +    else
> > +      RubySystem.random_seed = $*[i+1].to_i
> > +    end
> > +    i = i+ 1
> >   elsif $*[i] == "-s"
> >     memory_size_mb = $*[i+1].to_i
> >     i = i + 1
> > diff --git a/src/mem/ruby/system/CacheMemory.hh
> b/src/mem/ruby/system/CacheMemory.hh
> > --- a/src/mem/ruby/system/CacheMemory.hh
> > +++ b/src/mem/ruby/system/CacheMemory.hh
> > @@ -156,6 +156,7 @@
> >
> >   // The first index is the # of cache lines.
> >   // The second index is the the amount associativity.
> > +  m5::hash_map<Address, int> m_tag_index;
> >   Vector<Vector<AbstractCacheEntry*> > m_cache;
> >   Vector<Vector<int> > m_locked;
> >
> > @@ -286,6 +287,12 @@
> >  {
> >   assert(tag == line_address(tag));
> >   // search the set for the tags
> > +  m5::hash_map<Address, int>::const_iterator it = m_tag_index.find(tag);
> > +  if (it != m_tag_index.end())
> > +    if (m_cache[cacheSet][it->second]->m_Permission !=
> AccessPermission_NotPresent)
> > +      return it->second;
> > +  return -1; // Not found
> > +  /*
> >   for (int i=0; i < m_cache_assoc; i++) {
> >     if ((m_cache[cacheSet][i] != NULL) &&
> >         (m_cache[cacheSet][i]->m_Address == tag) &&
> > @@ -294,6 +301,7 @@
> >     }
> >   }
> >   return -1; // Not found
> > +  */
> >  }
> >
> >  // Given a cache index: returns the index of the tag in a set.
> > @@ -303,11 +311,19 @@
> >  {
> >   assert(tag == line_address(tag));
> >   // search the set for the tags
> > +  m5::hash_map<Address, int>::const_iterator it = m_tag_index.find(tag);
> > +  if (it != m_tag_index.end())
> > +    return it->second;
> > +  return -1; // Not found
> > +  /*
> > +  assert(tag == line_address(tag));
> > +  // search the set for the tags
> >   for (int i=0; i < m_cache_assoc; i++) {
> >     if (m_cache[cacheSet][i] != NULL && m_cache[cacheSet][i]->m_Address
> == tag)
> >       return i;
> >   }
> >   return -1; // Not found
> > +  */
> >  }
> >
> >  // PUBLIC METHODS
> > @@ -418,6 +434,7 @@
> >       m_cache[cacheSet][i]->m_Address = address;
> >       m_cache[cacheSet][i]->m_Permission = AccessPermission_Invalid;
> >       m_locked[cacheSet][i] = -1;
> > +      m_tag_index[address] = i;
> >
> >       m_replacementPolicy_ptr->touch(cacheSet, i,
> g_eventQueue_ptr->getTime());
> >
> > @@ -439,6 +456,7 @@
> >     delete m_cache[cacheSet][location];
> >     m_cache[cacheSet][location] = NULL;
> >     m_locked[cacheSet][location] = -1;
> > +    m_tag_index.erase(address);
> >   }
> >  }
> >
> > _______________________________________________
> > m5-dev mailing list
> > [email protected]
> > http://m5sim.org/mailman/listinfo/m5-dev
> >
> >
> _______________________________________________
> m5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to