Review Board 2.0.15


ruby: Add missing block deallocations in MOESI_hammer

Review Request #2978 - Created July 18, 2015 and submitted

Information
Lena Olson
gem5
default
Reviewers
Default
Changeset 10924:752540bf5605
---------------------------
ruby: Add missing block deallocations in MOESI_hammer

Some blocks in MOESI hammer were not getting deallocated when they were set to
an idle state (e.g. by invalidate or other_getx/s messages).  While functionally
correct, this caused some bad effects on performance, such as blocks in I in the
L1s getting sent to the L2 upon eviction, in turn evicting valid blocks.  Also,
if a valid block was in LRU, that block could be evicted rather than a block in
I.  This patch adds in the missing deallocations.

I ran the ruby random tester with 4 cores and did not encounter any errors caused by this patch. I also ran some multiprogrammed workload mixes; sim_ticks can be misleading for multiprogrammed workloads so take this with a large grain of salt, but the simulated runtime was consistently 20-30% less. For ruby tester (+increased cache size+assoc to cause the wrong blocks getting evicted) I see more like 2% improvement.

Review request changed
Updated (Sept. 16, 2015, 8:21 p.m.)

Status: Closed (submitted)