mem-ruby: Remove index based functions in bloom filters
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Sun, 5 May 2019 22:11:08 +0000 (00:11 +0200)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Sat, 6 Jul 2019 22:55:32 +0000 (22:55 +0000)
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>
15 files changed:
src/mem/ruby/filters/AbstractBloomFilter.hh
src/mem/ruby/filters/BlockBloomFilter.cc
src/mem/ruby/filters/BlockBloomFilter.hh
src/mem/ruby/filters/BulkBloomFilter.cc
src/mem/ruby/filters/BulkBloomFilter.hh
src/mem/ruby/filters/H3BloomFilter.cc
src/mem/ruby/filters/H3BloomFilter.hh
src/mem/ruby/filters/LSB_CountingBloomFilter.cc
src/mem/ruby/filters/LSB_CountingBloomFilter.hh
src/mem/ruby/filters/MultiBitSelBloomFilter.cc
src/mem/ruby/filters/MultiBitSelBloomFilter.hh
src/mem/ruby/filters/MultiGrainBloomFilter.cc
src/mem/ruby/filters/MultiGrainBloomFilter.hh
src/mem/ruby/filters/NonCountingBloomFilter.cc
src/mem/ruby/filters/NonCountingBloomFilter.hh

index bdf7c63238311f52be844c42b644bd15586ede1c..3e90cadd9350358d9f186c82782e372e46d600ec 100644 (file)
@@ -51,10 +51,6 @@ class AbstractBloomFilter
     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__
index e990497d0ae491e6dcec3b0180e7948bf87c771f..3516928859b16b0dbc339143fd45b3ddc4f74752 100644 (file)
@@ -99,24 +99,6 @@ BlockBloomFilter::getTotalCount()
     return count;
 }
 
-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)
 {
index 088759c5ed7158dbbf30a2df4e9333f063e7f3aa..5eaf6ead321e5cbc93f7ee83ddce16d8aabe0375 100644 (file)
@@ -48,9 +48,6 @@ class BlockBloomFilter : public AbstractBloomFilter
     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);
index d7fa1a388b208a77b80206f1dddf956baff2f826..da873f9422db243a5938c0ed9e2cb40bf22cf778 100644 (file)
@@ -163,25 +163,6 @@ BulkBloomFilter::getTotalCount()
     return count;
 }
 
-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)
 {
index a3df105308d0f34acc32e316e977200f02ddf0d8..39cd8094409ca487a621dcfe46c691a5d1cdf411 100644 (file)
@@ -47,9 +47,6 @@ class BulkBloomFilter : public AbstractBloomFilter
     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);
index 90b3546d95069678bf35416f7eccfcd7dd959dcf..7f44a2bd35f12a551f4676385ee814c7a3bb768d 100644 (file)
@@ -438,23 +438,6 @@ H3BloomFilter::getCount(Addr addr)
     return isSet(addr)? 1: 0;
 }
 
-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()
 {
index 93dc7d373e31a356157e7ed8cb08bd91749ed367..1df0d2a16f1d4e34037a9fe5c777e86eb6813ee7 100644 (file)
@@ -48,10 +48,6 @@ class H3BloomFilter : public AbstractBloomFilter
     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
     {
index 98c480b4eb7f50fac9ad379008ee96491dff8483..5d9475beda95651e60f58c27888dc0a9735e32d8 100644 (file)
@@ -101,25 +101,6 @@ LSB_CountingBloomFilter::getTotalCount()
     return count;
 }
 
-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)
 {
index 11df169ddf22c1b40a1982d038cb7c0c5f5771f7..7c02f77269597db08d7d61bc208954b671f358f0 100644 (file)
@@ -48,9 +48,6 @@ class LSB_CountingBloomFilter : public AbstractBloomFilter
     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);
index 206e5b07a5105c1135d41e299ffd29cff010cf9e..f64e14eaba646633cd0e32d7e8c2d48db734b58b 100644 (file)
@@ -93,23 +93,6 @@ MultiBitSelBloomFilter::getCount(Addr addr)
     return isSet(addr)? 1: 0;
 }
 
-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()
 {
index 94ec38d384a92b216e69335847a4f6e2ca982c60..45952de9324362ca3df65ffef8081681e7c88277 100644 (file)
@@ -50,10 +50,6 @@ class MultiBitSelBloomFilter : public AbstractBloomFilter
     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
     {
index a4de7a7af31a3c2802841729ab7785f38425e3e6..29af6eb1b828defcf6381599b876869e2ad771d1 100644 (file)
@@ -111,26 +111,6 @@ MultiGrainBloomFilter::getTotalCount()
     return count;
 }
 
-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)
 {
index 3be6ff640885a5ef956231265fb9fac7d6df17d2..6f9a584783b1feca1d1e103265c15c0bac2acd45 100644 (file)
@@ -47,9 +47,6 @@ class MultiGrainBloomFilter : public AbstractBloomFilter
     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);
index f012a7249a60ea5df6accf8b0f270fd500f54edc..50432d7a85cc00c8ac26c7ab8b7f137102acb2b1 100644 (file)
@@ -104,24 +104,6 @@ NonCountingBloomFilter::getTotalCount()
     return count;
 }
 
-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)
 {
index 2f1885d8df3a6c603fc6af7f915e726b417e705c..08610606ee0d911d20fb447a72d860d89de2b155 100644 (file)
@@ -49,10 +49,6 @@ class NonCountingBloomFilter : public AbstractBloomFilter
     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
     {