I can do it... just wanted to make sure it was expected and not an actual bug.

On Sat, Mar 26, 2011 at 1:46 PM, Beckmann, Brad <brad.beckm...@amd.com> wrote:
> Hi Steve,
>
> Oops.  It was such a small change in configuration, I didn't think about 
> rerunning the regression tester, but now thinking about it, yes it could 
> impact the results.  The cache indexing functions were not using the right 
> bits before this change.
>
> I can go ahead and update the stats tonight.  However, let me know if it is 
> more convenient for you to update them yourself.
>
> Brad
>
>
>> -----Original Message-----
>> From: m5-dev-boun...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] On
>> Behalf Of Steve Reinhardt
>> Sent: Saturday, March 26, 2011 6:20 AM
>> To: M5 Developer List
>> Subject: Re: [m5-dev] changeset in m5: ruby: fixed cache index setting
>>
>> Hi Brad,
>>
>> Would you expect this to change the results for the ruby regressions
>> slightly?  The regressions passed last night because the tests didn't
>> actually get rerun (since scons doesn't see the config file as a
>> dependency), but I'm seeing some failures in the tip on tests I'm
>> running and I suspect it's due to this change.
>>
>> Steve
>>
>> On Fri, Mar 25, 2011 at 10:15 AM, Brad Beckmann <brad.beckm...@amd.com>
>> wrote:
>> > changeset d8587c913ccf in /z/repo/m5
>> > details: http://repo.m5sim.org/m5?cmd=changeset;node=d8587c913ccf
>> > description:
>> >        ruby: fixed cache index setting
>> >
>> > diffstat:
>> >
>> >  configs/ruby/MESI_CMP_directory.py  |  17 +++++++++++------
>> >  configs/ruby/MI_example.py          |   4 +++-
>> >  configs/ruby/MOESI_CMP_directory.py |  17 +++++++++++------
>> >  configs/ruby/MOESI_CMP_token.py     |  15 +++++++++------
>> >  configs/ruby/MOESI_hammer.py        |  10 +++++++---
>> >  5 files changed, 41 insertions(+), 22 deletions(-)
>> >
>> > diffs (207 lines):
>> >
>> > diff -r bbab80b639cb -r d8587c913ccf
>> configs/ruby/MESI_CMP_directory.py
>> > --- a/configs/ruby/MESI_CMP_directory.py        Fri Mar 25 00:46:14
>> 2011 -0400
>> > +++ b/configs/ruby/MESI_CMP_directory.py        Fri Mar 25 10:13:50
>> 2011 -0700
>> > @@ -68,15 +68,19 @@
>> >     # Must create the individual controllers before the network to
>> ensure the
>> >     # controller constructors are called before the network
>> constructor
>> >     #
>> > +    l2_bits = int(math.log(options.num_l2caches, 2))
>> > +    block_size_bits = int(math.log(options.cacheline_size, 2))
>> >
>> >     for i in xrange(options.num_cpus):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l1i_cache = L1Cache(size = options.l1i_size,
>> > -                            assoc = options.l1i_assoc)
>> > +                            assoc = options.l1i_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >         l1d_cache = L1Cache(size = options.l1d_size,
>> > -                            assoc = options.l1d_assoc)
>> > +                            assoc = options.l1d_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >
>> >         cpu_seq = RubySequencer(version = i,
>> >                                 icache = l1i_cache,
>> > @@ -91,9 +95,7 @@
>> >                                       sequencer = cpu_seq,
>> >                                       L1IcacheMemory = l1i_cache,
>> >                                       L1DcacheMemory = l1d_cache,
>> > -                                      l2_select_num_bits = \
>> > -
>>  math.log(options.num_l2caches,
>> > -                                                 2))
>> > +                                      l2_select_num_bits = l2_bits)
>> >
>> >         exec("system.l1_cntrl%d = l1_cntrl" % i)
>> >
>> > @@ -103,12 +105,15 @@
>> >         cpu_sequencers.append(cpu_seq)
>> >         l1_cntrl_nodes.append(l1_cntrl)
>> >
>> > +    l2_index_start = block_size_bits + l2_bits
>> > +
>> >     for i in xrange(options.num_l2caches):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l2_cache = L2Cache(size = options.l2_size,
>> > -                           assoc = options.l2_assoc)
>> > +                           assoc = options.l2_assoc,
>> > +                           start_index_bit = l2_index_start)
>> >
>> >         l2_cntrl = L2Cache_Controller(version = i,
>> >                                       L2cacheMemory = l2_cache)
>> > diff -r bbab80b639cb -r d8587c913ccf configs/ruby/MI_example.py
>> > --- a/configs/ruby/MI_example.py        Fri Mar 25 00:46:14 2011 -
>> 0400
>> > +++ b/configs/ruby/MI_example.py        Fri Mar 25 10:13:50 2011 -
>> 0700
>> > @@ -60,6 +60,7 @@
>> >     # Must create the individual controllers before the network to
>> ensure the
>> >     # controller constructors are called before the network
>> constructor
>> >     #
>> > +    block_size_bits = int(math.log(options.cacheline_size, 2))
>> >
>> >     for i in xrange(options.num_cpus):
>> >         #
>> > @@ -68,7 +69,8 @@
>> >         # config parameters.
>> >         #
>> >         cache = Cache(size = options.l1d_size,
>> > -                      assoc = options.l1d_assoc)
>> > +                      assoc = options.l1d_assoc,
>> > +                      start_index_bit = block_size_bits)
>> >
>> >         #
>> >         # Only one unified L1 cache exists.  Can cache instructions
>> and data.
>> > diff -r bbab80b639cb -r d8587c913ccf
>> configs/ruby/MOESI_CMP_directory.py
>> > --- a/configs/ruby/MOESI_CMP_directory.py       Fri Mar 25 00:46:14
>> 2011 -0400
>> > +++ b/configs/ruby/MOESI_CMP_directory.py       Fri Mar 25 10:13:50
>> 2011 -0700
>> > @@ -68,15 +68,19 @@
>> >     # Must create the individual controllers before the network to
>> ensure the
>> >     # controller constructors are called before the network
>> constructor
>> >     #
>> > +    l2_bits = int(math.log(options.num_l2caches, 2))
>> > +    block_size_bits = int(math.log(options.cacheline_size, 2))
>> >
>> >     for i in xrange(options.num_cpus):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l1i_cache = L1Cache(size = options.l1i_size,
>> > -                            assoc = options.l1i_assoc)
>> > +                            assoc = options.l1i_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >         l1d_cache = L1Cache(size = options.l1d_size,
>> > -                            assoc = options.l1d_assoc)
>> > +                            assoc = options.l1d_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >
>> >         cpu_seq = RubySequencer(version = i,
>> >                                 icache = l1i_cache,
>> > @@ -91,9 +95,7 @@
>> >                                       sequencer = cpu_seq,
>> >                                       L1IcacheMemory = l1i_cache,
>> >                                       L1DcacheMemory = l1d_cache,
>> > -                                      l2_select_num_bits = \
>> > -                                      math.log(options.num_l2caches,
>> > -                                               2))
>> > +                                      l2_select_num_bits = l2_bits)
>> >
>> >         exec("system.l1_cntrl%d = l1_cntrl" % i)
>> >         #
>> > @@ -102,12 +104,15 @@
>> >         cpu_sequencers.append(cpu_seq)
>> >         l1_cntrl_nodes.append(l1_cntrl)
>> >
>> > +    l2_index_start = block_size_bits + l2_bits
>> > +
>> >     for i in xrange(options.num_l2caches):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l2_cache = L2Cache(size = options.l2_size,
>> > -                           assoc = options.l2_assoc)
>> > +                           assoc = options.l2_assoc,
>> > +                           start_index_bit = l2_index_start)
>> >
>> >         l2_cntrl = L2Cache_Controller(version = i,
>> >                                       L2cacheMemory = l2_cache)
>> > diff -r bbab80b639cb -r d8587c913ccf configs/ruby/MOESI_CMP_token.py
>> > --- a/configs/ruby/MOESI_CMP_token.py   Fri Mar 25 00:46:14 2011 -
>> 0400
>> > +++ b/configs/ruby/MOESI_CMP_token.py   Fri Mar 25 10:13:50 2011 -
>> 0700
>> > @@ -82,15 +82,18 @@
>> >     # controller constructors are called before the network
>> constructor
>> >     #
>> >     l2_bits = int(math.log(options.num_l2caches, 2))
>> > +    block_size_bits = int(math.log(options.cacheline_size, 2))
>> >
>> >     for i in xrange(options.num_cpus):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l1i_cache = L1Cache(size = options.l1i_size,
>> > -                            assoc = options.l1i_assoc)
>> > +                            assoc = options.l1i_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >         l1d_cache = L1Cache(size = options.l1d_size,
>> > -                            assoc = options.l1d_assoc)
>> > +                            assoc = options.l1d_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >
>> >         cpu_seq = RubySequencer(version = i,
>> >                                 icache = l1i_cache,
>> > @@ -123,13 +126,15 @@
>> >         cpu_sequencers.append(cpu_seq)
>> >         l1_cntrl_nodes.append(l1_cntrl)
>> >
>> > +    l2_index_start = block_size_bits + l2_bits
>> > +
>> >     for i in xrange(options.num_l2caches):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l2_cache = L2Cache(size = options.l2_size,
>> >                            assoc = options.l2_assoc,
>> > -                           start_index_bit = l2_bits)
>> > +                           start_index_bit = l2_index_start)
>> >
>> >         l2_cntrl = L2Cache_Controller(version = i,
>> >                                       L2cacheMemory = l2_cache,
>> > @@ -158,9 +163,7 @@
>> >                                                              size = \
>> >
>>  dir_size),
>> >                                          memBuffer = mem_cntrl,
>> > -                                         l2_select_num_bits = \
>> > -
>> math.log(options.num_l2caches,
>> > -                                                    2))
>> > +                                         l2_select_num_bits =
>> l2_bits)
>> >
>> >         exec("system.dir_cntrl%d = dir_cntrl" % i)
>> >         dir_cntrl_nodes.append(dir_cntrl)
>> > diff -r bbab80b639cb -r d8587c913ccf configs/ruby/MOESI_hammer.py
>> > --- a/configs/ruby/MOESI_hammer.py      Fri Mar 25 00:46:14 2011 -
>> 0400
>> > +++ b/configs/ruby/MOESI_hammer.py      Fri Mar 25 10:13:50 2011 -
>> 0700
>> > @@ -78,17 +78,21 @@
>> >     # Must create the individual controllers before the network to
>> ensure the
>> >     # controller constructors are called before the network
>> constructor
>> >     #
>> > +    block_size_bits = int(math.log(options.cacheline_size, 2))
>> >
>> >     for i in xrange(options.num_cpus):
>> >         #
>> >         # First create the Ruby objects associated with this cpu
>> >         #
>> >         l1i_cache = L1Cache(size = options.l1i_size,
>> > -                            assoc = options.l1i_assoc)
>> > +                            assoc = options.l1i_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >         l1d_cache = L1Cache(size = options.l1d_size,
>> > -                            assoc = options.l1d_assoc)
>> > +                            assoc = options.l1d_assoc,
>> > +                            start_index_bit = block_size_bits)
>> >         l2_cache = L2Cache(size = options.l2_size,
>> > -                           assoc = options.l2_assoc)
>> > +                           assoc = options.l2_assoc,
>> > +                           start_index_bit = block_size_bits)
>> >
>> >         cpu_seq = RubySequencer(version = i,
>> >                                 icache = l1i_cache,
>> > _______________________________________________
>> > m5-dev mailing list
>> > m5-dev@m5sim.org
>> > http://m5sim.org/mailman/listinfo/m5-dev
>> >
>> _______________________________________________
>> m5-dev mailing list
>> m5-dev@m5sim.org
>> http://m5sim.org/mailman/listinfo/m5-dev
>
>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to