MCPcopy Create free account
hub / github.com/1a1a11a/libCacheSim / TwoQ_init

Function TwoQ_init

libCacheSim/cache/eviction/TwoQ.c:67–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65// ***********************************************************************
66
67cache_t *TwoQ_init(const common_cache_params_t ccache_params,
68 const char *cache_specific_params) {
69 cache_t *cache =
70 cache_struct_init("TwoQ", ccache_params, cache_specific_params);
71 cache->cache_init = TwoQ_init;
72 cache->cache_free = TwoQ_free;
73 cache->get = TwoQ_get;
74 cache->find = TwoQ_find;
75 cache->insert = TwoQ_insert;
76 cache->evict = TwoQ_evict;
77 cache->remove = TwoQ_remove;
78 cache->to_evict = TwoQ_to_evict;
79 cache->get_n_obj = TwoQ_get_n_obj;
80 cache->get_occupied_byte = TwoQ_get_occupied_byte;
81 cache->can_insert = TwoQ_can_insert;
82
83 cache->obj_md_size = 0;
84
85 cache->eviction_params = malloc(sizeof(TwoQ_params_t));
86 memset(cache->eviction_params, 0, sizeof(TwoQ_params_t));
87 TwoQ_params_t *params = (TwoQ_params_t *)cache->eviction_params;
88 params->req_local = new_request();
89 params->hit_on_ghost = false;
90
91 TwoQ_parse_params(cache, DEFAULT_CACHE_PARAMS);
92 if (cache_specific_params != NULL) {
93 TwoQ_parse_params(cache, cache_specific_params);
94 }
95
96 params->Ain_cache_size = ccache_params.cache_size * params->Ain_size_ratio;
97 params->Aout_cache_size = ccache_params.cache_size * params->Aout_size_ratio;
98 params->Am_cache_size = ccache_params.cache_size - params->Ain_cache_size;
99
100 common_cache_params_t ccache_params_local = ccache_params;
101 ccache_params_local.cache_size = params->Ain_cache_size;
102 params->Ain = FIFO_init(ccache_params_local, NULL);
103
104 ccache_params_local.cache_size = params->Aout_cache_size;
105 params->Aout = FIFO_init(ccache_params_local, NULL);
106
107 ccache_params_local.cache_size = params->Am_cache_size;
108 params->Am = LRU_init(ccache_params_local, NULL);
109
110 return cache;
111}
112
113/**
114 * free resources used by this cache

Callers 4

S3FIFOd_initFunction · 0.85
QDLP_initFunction · 0.85
flashProb_initFunction · 0.85
create_cacheFunction · 0.85

Calls 5

cache_struct_initFunction · 0.85
new_requestFunction · 0.85
TwoQ_parse_paramsFunction · 0.85
FIFO_initFunction · 0.85
LRU_initFunction · 0.85

Tested by

no test coverage detected