DynamoRIO
|
dynamorio::drmemtrace::policy_rrip_t Class Reference
#include <policy_rrip.h>
Inheritance diagram for dynamorio::drmemtrace::policy_rrip_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