@@ -34,54 +34,72 @@ static inline cache_t *create_cache(const char *trace_path,
3434 } eviction_algo_entry_t ;
3535
3636 static const eviction_algo_entry_t simple_algos [] = {
37- {"lru" , LRU_init },
38- {"fifo" , FIFO_init },
39- {"arc" , ARC_init },
40- {"arcv0" , ARCv0_init },
41- {"lhd" , LHD_init },
42- {"random" , Random_init },
43- {"randomTwo" , RandomTwo_init },
44- {"lfu" , LFU_init },
45- {"gdsf" , GDSF_init },
46- {"lfuda" , LFUDA_init },
47- {"twoq" , TwoQ_init },
48- {"2q" , TwoQ_init },
49- {"slru" , SLRU_init },
50- {"slruv0" , SLRUv0_init },
51- {"lecar" , LeCaR_init },
52- {"lecarv0" , LeCaRv0_init },
53- {"RandomLRU" , RandomLRU_init },
54- {"cacheus" , Cacheus_init },
55- {"size" , Size_init },
56- {"lfucpp" , LFUCpp_init },
57- {"wtinyLFU" , WTinyLFU_init },
58- {"nop" , nop_init },
59- {"fifo-reinsertion" , Clock_init },
60- {"clock" , Clock_init },
61- {"second-chance" , Clock_init },
62- {"clockpro" , ClockPro_init },
63- {"lirs" , LIRS_init },
64- {"fifomerge" , FIFO_Merge_init },
65- {"fifo-merge" , FIFO_Merge_init },
66- {"flashProb" , flashProb_init },
67- {"sfifo" , SFIFO_init },
68- {"sfifov0" , SFIFOv0_init },
69- {"lru-prob" , LRU_Prob_init },
70- {"fifo-belady" , FIFO_Belady_init },
71- {"lru-belady" , LRU_Belady_init },
72- {"sieve-belady" , Sieve_Belady_init },
73- {"s3lru" , S3LRU_init },
74- {"s3fifo" , S3FIFO_init },
75- {"s3-fifo" , S3FIFO_init },
76- {"s3fifov0" , S3FIFOv0_init },
77- {"s3-fifov0" , S3FIFOv0_init },
78- {"s3fifod" , S3FIFOd_init },
79- {"qdlp" , QDLP_init },
80- {"CAR" , CAR_init },
81- {"sieve" , Sieve_init },
82- };
37+ {"lru" , LRU_init },
38+ {"fifo" , FIFO_init },
39+ {"arc" , ARC_init },
40+ {"arcv0" , ARCv0_init },
41+ {"lhd" , LHD_init },
42+ {"random" , Random_init },
43+ {"randomTwo" , RandomTwo_init },
44+ {"lfu" , LFU_init },
45+ {"gdsf" , GDSF_init },
46+ {"lfuda" , LFUDA_init },
47+ {"twoq" , TwoQ_init },
48+ {"2q" , TwoQ_init },
49+ {"slru" , SLRU_init },
50+ {"slruv0" , SLRUv0_init },
51+ {"lecar" , LeCaR_init },
52+ {"lecarv0" , LeCaRv0_init },
53+ {"RandomLRU" , RandomLRU_init },
54+ {"cacheus" , Cacheus_init },
55+ {"size" , Size_init },
56+ {"lfucpp" , LFUCpp_init },
57+ {"wtinyLFU" , WTinyLFU_init },
58+ {"nop" , nop_init },
59+ {"fifo-reinsertion" , Clock_init },
60+ {"clock" , Clock_init },
61+ {"second-chance" , Clock_init },
62+ {"clockpro" , ClockPro_init },
63+ {"lirs" , LIRS_init },
64+ {"fifomerge" , FIFO_Merge_init },
65+ {"fifo-merge" , FIFO_Merge_init },
66+ {"flashProb" , flashProb_init },
67+ {"sfifo" , SFIFO_init },
68+ {"sfifov0" , SFIFOv0_init },
69+ {"lru-prob" , LRU_Prob_init },
70+ {"fifo-belady" , FIFO_Belady_init },
71+ {"lru-belady" , LRU_Belady_init },
72+ {"sieve-belady" , Sieve_Belady_init },
73+ {"s3lru" , S3LRU_init },
74+ {"s3fifo" , S3FIFO_init },
75+ {"s3-fifo" , S3FIFO_init },
76+ {"s3fifov0" , S3FIFOv0_init },
77+ {"s3-fifov0" , S3FIFOv0_init },
78+ {"s3fifod" , S3FIFOd_init },
79+ {"qdlp" , QDLP_init },
80+ {"CAR" , CAR_init },
81+ #ifdef ENABLE_3L_CACHE
82+ {"3LCache" , ThreeLCache_init },
83+ #endif
84+ #ifdef ENABLE_GLCACHE
85+ {"GLCache" , GLCache_init },
86+ {"gl-cache" , GLCache_init },
87+ #endif
88+ #ifdef ENABLE_LRB
89+ {"lrb" , LRB_init },
90+ #endif
91+ #ifdef INCLUDE_PRIV
92+ {"mclock" , MClock_init },
93+ {"lp-sfifo" , LP_SFIFO_init },
94+ {"lp-arc" , LP_ARC_init },
95+ {"lp-twoq" , LP_TwoQ_init },
96+ {"qdlpv0" , QDLPv0_init },
97+ {"s3fifodv2" , S3FIFOdv2_init },
98+ {"myMQv1" , myMQv1_init }
99+ #endif
100+ };
83101
84- cache_t * (* init_func )(common_cache_params_t , const char * ) = NULL ;
102+ cache_t * (* init_func )(common_cache_params_t , const char * ) = NULL ;
85103 for (size_t i = 0 ; i < sizeof (simple_algos ) / sizeof (simple_algos [0 ]); ++ i ) {
86104 if (strcasecmp (eviction_algo , simple_algos [i ].name ) == 0 ) {
87105 init_func = simple_algos [i ].init_func ;
@@ -130,35 +148,6 @@ static inline cache_t *create_cache(const char *trace_path,
130148 }
131149 cc_params .hashpower = MAX (cc_params .hashpower - 8 , 16 );
132150 cache = BeladySize_init (cc_params , eviction_params );
133- #ifdef ENABLE_3L_CACHE
134- } else if (strcasecmp (eviction_algo , "3LCache" ) == 0 ) {
135- cache = ThreeLCache_init (cc_params , eviction_params );
136- #endif
137- #ifdef ENABLE_GLCACHE
138- } else if (strcasecmp (eviction_algo , "GLCache" ) == 0 ||
139- strcasecmp (eviction_algo , "gl-cache" ) == 0 ) {
140- cache = GLCache_init (cc_params , eviction_params );
141- #endif
142- #ifdef ENABLE_LRB
143- } else if (strcasecmp (eviction_algo , "lrb" ) == 0 ) {
144- cache = LRB_init (cc_params , eviction_params );
145- #endif
146- #ifdef INCLUDE_PRIV
147- } else if (strcasecmp (eviction_algo , "mclock" ) == 0 ) {
148- cache = MClock_init (cc_params , eviction_params );
149- } else if (strcasecmp (eviction_algo , "lp-sfifo" ) == 0 ) {
150- cache = LP_SFIFO_init (cc_params , eviction_params );
151- } else if (strcasecmp (eviction_algo , "lp-arc" ) == 0 ) {
152- cache = LP_ARC_init (cc_params , eviction_params );
153- } else if (strcasecmp (eviction_algo , "lp-twoq" ) == 0 ) {
154- cache = LP_TwoQ_init (cc_params , eviction_params );
155- } else if (strcasecmp (eviction_algo , "qdlpv0" ) == 0 ) {
156- cache = QDLPv0_init (cc_params , eviction_params );
157- } else if (strcasecmp (eviction_algo , "s3fifodv2" ) == 0 ) {
158- cache = S3FIFOdv2_init (cc_params , eviction_params );
159- } else if (strcasecmp (eviction_algo , "myMQv1" ) == 0 ) {
160- cache = myMQv1_init (cc_params , eviction_params );
161- #endif
162151 } else {
163152 ERROR ("do not support algorithm %s\n" , eviction_algo );
164153 abort ();
0 commit comments