mem-ruby: Use CircularQueue for prefetcher's non unit filter
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Sat, 21 Dec 2019 13:55:30 +0000 (14:55 +0100)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Fri, 9 Oct 2020 07:13:16 +0000 (07:13 +0000)
commit453a334c8accbf0d7b0b9d01b42eec4a42a7ac17
tree9ec86ce9becb8d62f78ddef974d09e06234c5f51
parent5c94320ce273865d13d8a4e9062464dad71cffea
mem-ruby: Use CircularQueue for prefetcher's non unit filter

Ruby prefetcher's non-unit filter is a circular queue, so use the class
created for this functionality.

This changes the behavior, since previously iterating through the
filter was completely arbitrary, and now it iterates from the
beginning of the queue to the end when accessing and updating
the filter's contents.

Change-Id: I3148efcbef00da0c8f6cf2dee7fb86f6c2ddb27d
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24533
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/structures/RubyPrefetcher.cc
src/mem/ruby/structures/RubyPrefetcher.hh