mem-ruby: Remove index based functions in bloom filters
Most of the index based functions were not implemented, and a
user is more likely to be interested in checking the filter
contents based on an address than an index.
As a side effect, the Bulk's hash function became unused, and
according to the paper permute() was doing more than just
permuting, so it was renamed.
Change-Id: I6423a2565a082fee2e7f11fa489a11f253064d99
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18732
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
diff --git a/src/mem/ruby/filters/AbstractBloomFilter.hh b/src/mem/ruby/filters/AbstractBloomFilter.hh
index bdf7c63..3e90cad 100644
--- a/src/mem/ruby/filters/AbstractBloomFilter.hh
+++ b/src/mem/ruby/filters/AbstractBloomFilter.hh
@@ -51,10 +51,6 @@
virtual bool isSet(Addr addr) = 0;
virtual int getCount(Addr addr) = 0;
virtual int getTotalCount() = 0;
-
- virtual int getIndex(Addr addr) = 0;
- virtual int readBit(const int index) = 0;
- virtual void writeBit(const int index, const int value) = 0;
};
#endif // __MEM_RUBY_FILTERS_ABSTRACTBLOOMFILTER_HH__
diff --git a/src/mem/ruby/filters/BlockBloomFilter.cc b/src/mem/ruby/filters/BlockBloomFilter.cc
index e990497..3516928 100644
--- a/src/mem/ruby/filters/BlockBloomFilter.cc
+++ b/src/mem/ruby/filters/BlockBloomFilter.cc
@@ -100,24 +100,6 @@
}
int
-BlockBloomFilter::getIndex(Addr addr)
-{
- return get_index(addr);
-}
-
-int
-BlockBloomFilter::readBit(const int index)
-{
- return m_filter[index];
-}
-
-void
-BlockBloomFilter::writeBit(const int index, const int value)
-{
- m_filter[index] = value;
-}
-
-int
BlockBloomFilter::get_index(Addr addr)
{
// Pull out some bit field ==> B1
diff --git a/src/mem/ruby/filters/BlockBloomFilter.hh b/src/mem/ruby/filters/BlockBloomFilter.hh
index 088759c..5eaf6ea 100644
--- a/src/mem/ruby/filters/BlockBloomFilter.hh
+++ b/src/mem/ruby/filters/BlockBloomFilter.hh
@@ -48,9 +48,6 @@
bool isSet(Addr addr);
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
private:
int get_index(Addr addr);
diff --git a/src/mem/ruby/filters/BulkBloomFilter.cc b/src/mem/ruby/filters/BulkBloomFilter.cc
index d7fa1a3..da873f9 100644
--- a/src/mem/ruby/filters/BulkBloomFilter.cc
+++ b/src/mem/ruby/filters/BulkBloomFilter.cc
@@ -164,25 +164,6 @@
}
int
-BulkBloomFilter::getIndex(Addr addr)
-{
- return get_index(addr);
-}
-
-int
-BulkBloomFilter::readBit(const int index)
-{
- return 0;
- // TODO
-}
-
-void
-BulkBloomFilter::writeBit(const int index, const int value)
-{
- // TODO
-}
-
-int
BulkBloomFilter::get_index(Addr addr)
{
return bitSelect(addr, RubySystem::getBlockSizeBits(),
diff --git a/src/mem/ruby/filters/BulkBloomFilter.hh b/src/mem/ruby/filters/BulkBloomFilter.hh
index a3df105..39cd809 100644
--- a/src/mem/ruby/filters/BulkBloomFilter.hh
+++ b/src/mem/ruby/filters/BulkBloomFilter.hh
@@ -47,9 +47,6 @@
bool isSet(Addr addr);
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
private:
int get_index(Addr addr);
diff --git a/src/mem/ruby/filters/H3BloomFilter.cc b/src/mem/ruby/filters/H3BloomFilter.cc
index 90b3546..7f44a2b 100644
--- a/src/mem/ruby/filters/H3BloomFilter.cc
+++ b/src/mem/ruby/filters/H3BloomFilter.cc
@@ -439,23 +439,6 @@
}
int
-H3BloomFilter::getIndex(Addr addr)
-{
- return 0;
-}
-
-int
-H3BloomFilter::readBit(const int index)
-{
- return 0;
-}
-
-void
-H3BloomFilter::writeBit(const int index, const int value)
-{
-}
-
-int
H3BloomFilter::getTotalCount()
{
int count = 0;
diff --git a/src/mem/ruby/filters/H3BloomFilter.hh b/src/mem/ruby/filters/H3BloomFilter.hh
index 93dc7d3..1df0d2a 100644
--- a/src/mem/ruby/filters/H3BloomFilter.hh
+++ b/src/mem/ruby/filters/H3BloomFilter.hh
@@ -48,10 +48,6 @@
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
-
int
operator[](const int index) const
{
diff --git a/src/mem/ruby/filters/LSB_CountingBloomFilter.cc b/src/mem/ruby/filters/LSB_CountingBloomFilter.cc
index 98c480b..5d9475b 100644
--- a/src/mem/ruby/filters/LSB_CountingBloomFilter.cc
+++ b/src/mem/ruby/filters/LSB_CountingBloomFilter.cc
@@ -102,25 +102,6 @@
}
int
-LSB_CountingBloomFilter::getIndex(Addr addr)
-{
- return get_index(addr);
-}
-
-int
-LSB_CountingBloomFilter::readBit(const int index)
-{
- return 0;
- // TODO
-}
-
-void
-LSB_CountingBloomFilter::writeBit(const int index, const int value)
-{
- // TODO
-}
-
-int
LSB_CountingBloomFilter::get_index(Addr addr)
{
return bitSelect(addr, RubySystem::getBlockSizeBits(),
diff --git a/src/mem/ruby/filters/LSB_CountingBloomFilter.hh b/src/mem/ruby/filters/LSB_CountingBloomFilter.hh
index 11df169..7c02f77 100644
--- a/src/mem/ruby/filters/LSB_CountingBloomFilter.hh
+++ b/src/mem/ruby/filters/LSB_CountingBloomFilter.hh
@@ -48,9 +48,6 @@
bool isSet(Addr addr);
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
private:
int get_index(Addr addr);
diff --git a/src/mem/ruby/filters/MultiBitSelBloomFilter.cc b/src/mem/ruby/filters/MultiBitSelBloomFilter.cc
index 206e5b0..f64e14e 100644
--- a/src/mem/ruby/filters/MultiBitSelBloomFilter.cc
+++ b/src/mem/ruby/filters/MultiBitSelBloomFilter.cc
@@ -94,23 +94,6 @@
}
int
-MultiBitSelBloomFilter::getIndex(Addr addr)
-{
- return 0;
-}
-
-int
-MultiBitSelBloomFilter::readBit(const int index)
-{
- return 0;
-}
-
-void
-MultiBitSelBloomFilter::writeBit(const int index, const int value)
-{
-}
-
-int
MultiBitSelBloomFilter::getTotalCount()
{
int count = 0;
diff --git a/src/mem/ruby/filters/MultiBitSelBloomFilter.hh b/src/mem/ruby/filters/MultiBitSelBloomFilter.hh
index 94ec38d..45952de 100644
--- a/src/mem/ruby/filters/MultiBitSelBloomFilter.hh
+++ b/src/mem/ruby/filters/MultiBitSelBloomFilter.hh
@@ -50,10 +50,6 @@
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
-
int
operator[](const int index) const
{
diff --git a/src/mem/ruby/filters/MultiGrainBloomFilter.cc b/src/mem/ruby/filters/MultiGrainBloomFilter.cc
index a4de7a7..29af6eb 100644
--- a/src/mem/ruby/filters/MultiGrainBloomFilter.cc
+++ b/src/mem/ruby/filters/MultiGrainBloomFilter.cc
@@ -112,26 +112,6 @@
}
int
-MultiGrainBloomFilter::getIndex(Addr addr)
-{
- return 0;
- // TODO
-}
-
-int
-MultiGrainBloomFilter::readBit(const int index)
-{
- return 0;
- // TODO
-}
-
-void
-MultiGrainBloomFilter::writeBit(const int index, const int value)
-{
- // TODO
-}
-
-int
MultiGrainBloomFilter::get_block_index(Addr addr)
{
// grap a chunk of bits after byte offset
diff --git a/src/mem/ruby/filters/MultiGrainBloomFilter.hh b/src/mem/ruby/filters/MultiGrainBloomFilter.hh
index 3be6ff6..6f9a584 100644
--- a/src/mem/ruby/filters/MultiGrainBloomFilter.hh
+++ b/src/mem/ruby/filters/MultiGrainBloomFilter.hh
@@ -47,9 +47,6 @@
bool isSet(Addr addr);
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
private:
int get_block_index(Addr addr);
diff --git a/src/mem/ruby/filters/NonCountingBloomFilter.cc b/src/mem/ruby/filters/NonCountingBloomFilter.cc
index f012a72..50432d7 100644
--- a/src/mem/ruby/filters/NonCountingBloomFilter.cc
+++ b/src/mem/ruby/filters/NonCountingBloomFilter.cc
@@ -105,24 +105,6 @@
}
int
-NonCountingBloomFilter::getIndex(Addr addr)
-{
- return get_index(addr);
-}
-
-int
-NonCountingBloomFilter::readBit(const int index)
-{
- return m_filter[index];
-}
-
-void
-NonCountingBloomFilter::writeBit(const int index, const int value)
-{
- m_filter[index] = value;
-}
-
-int
NonCountingBloomFilter::get_index(Addr addr)
{
return bitSelect(addr, RubySystem::getBlockSizeBits() + m_offset,
diff --git a/src/mem/ruby/filters/NonCountingBloomFilter.hh b/src/mem/ruby/filters/NonCountingBloomFilter.hh
index 2f1885d..0861060 100644
--- a/src/mem/ruby/filters/NonCountingBloomFilter.hh
+++ b/src/mem/ruby/filters/NonCountingBloomFilter.hh
@@ -49,10 +49,6 @@
int getCount(Addr addr);
int getTotalCount();
- int getIndex(Addr addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
-
int
operator[](const int index) const
{