dynamorio::drmemtrace::policy_rrip_t Class Reference

#include <policy_rrip.h>

Inheritance diagram for dynamorio::drmemtrace::policy_rrip_t:
dynamorio::drmemtrace::cache_replacement_policy_t

Public Member Functions

void access_update (int set_idx, int way, cache_access_outcome_t access_type) override
 Informs the replacement policy that an access has occurred.
 
void eviction_update (int set_idx, int way) override
 Informs the replacement policy that an eviction has occurred.
 
void invalidation_update (int set_idx, int way) override
 Informs the replacement policy that an invalidation has occurred.
 
std::string get_name () const override
 Returns the name of the replacement policy.
 

Detailed Description

Re-Reference Interval Prediction (RRIP)-based cache replacement policy.

Model RRIP and Not Recently Used (NRU) replacement policy. Replacement policy behavior:

  • Static RRIP (always use "long" rrpv=rrpv_max-1): rrpv_long_per_period=0 rrpv_period=0
  • Bi-modal RRIP (use "long" rrpv=rrpv_max-1 with frequency m/n; "distant" otherwise): rrpv_long_per_period=m rrpv_period=n
  • NRU (1-bit RRPV, always use "distant" rrpv==1): rrpv_bits=1 rrpv_period=1 rrpv_long_per_period=0

Currently these values are hardcoded: rrpv_bits=3 rrpv_period=64 rrpv_long_per_period=1 TODO i#7590: Read them from cache configuration file


The documentation for this class was generated from the following file:
  • /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/policy_rrip.h