Open CAS Framework
Open source framework of Cache Acceleration Software
ocf_def.h
Go to the documentation of this file.
1 /*
2  * Copyright(c) 2012-2020 Intel Corporation
3  * SPDX-License-Identifier: BSD-3-Clause-Clear
4  */
5 
6 
7 #ifndef __OCF_DEF_H__
8 #define __OCF_DEF_H__
9 
10 #include "ocf_cfg.h"
22 #define OCF_CACHE_ID_MIN 1
23 
26 #define OCF_CACHE_ID_MAX 16384
27 
30 #define OCF_CACHE_ID_INVALID 0
31 
34 #define OCF_CACHE_SIZE_MIN (20 * MiB)
35 
38 #define OCF_CACHE_NAME_SIZE 32
39 
42 #define OCF_CACHE_FALLBACK_PT_INACTIVE 0
43 
46 #define OCF_CACHE_FALLBACK_PT_MIN_ERROR_THRESHOLD \
47  OCF_CACHE_FALLBACK_PT_INACTIVE
48 
51 #define OCF_CACHE_FALLBACK_PT_MAX_ERROR_THRESHOLD 1000000
52 
62 #define OCF_CORE_MAX OCF_CONFIG_MAX_CORES
63 
66 #define OCF_CORE_ID_MIN 0
67 
70 #define OCF_CORE_ID_MAX (OCF_CORE_MAX - 1)
71 
74 #define OCF_CORE_ID_INVALID OCF_CORE_MAX
75 
78 #define OCF_CORE_NAME_SIZE 32
79 
82 #define OCF_SEQ_NO_MIN 1
83 
86 #define OCF_SEQ_NO_MAX (65535UL)
87 /*
88  * Invalid value of core sequence number
89  */
90 #define OCF_SEQ_NO_INVALID 0
91 
99 #define KiB (1ULL << 10)
100 #define MiB (1ULL << 20)
101 #define GiB (1ULL << 30)
102 
103 #if OCF_CONFIG_DEBUG_STATS == 1
104 
105 #define OCF_DEBUG_STATS
106 #endif
107 
114 typedef enum {
116 
119 
122 
125 
128 
130 
134 typedef enum {
144 
145 
149 typedef enum {
177 
178 #define OCF_SEQ_CUTOFF_MAX_STREAMS 256
179 
180 typedef enum {
196 
200 typedef enum {
210 
214 typedef enum {
227 
231 typedef enum {
254 
258 typedef enum {
289 
293 typedef enum {
294  ocf_metadata_layout_striping = 0,
295  ocf_metadata_layout_seq = 1,
296  ocf_metadata_layout_max,
297  ocf_metadata_layout_default = ocf_metadata_layout_striping
299 
306 #define OCF_IO_CLASS_MAX OCF_CONFIG_MAX_IO_CLASSES
307 
310 #define OCF_IO_CLASS_ID_MIN 0
311 
314 #define OCF_IO_CLASS_ID_MAX (OCF_IO_CLASS_MAX - 1)
315 
318 #define OCF_IO_CLASS_INVALID OCF_IO_CLASS_MAX
319 
321 #define OCF_IO_CLASS_NAME_MAX 1024
322 
324 #define OCF_IO_CLASS_PRIO_PINNED -1
325 
327 #define OCF_IO_CLASS_PRIO_HIGHEST 0
328 
330 #define OCF_IO_CLASS_PRIO_LOWEST 255
331 
333 #define OCF_IO_CLASS_PRIO_DEFAULT OCF_IO_CLASS_PRIO_LOWEST
334 
342 #define OCF_READ 0
343 #define OCF_WRITE 1
344 
352 #define OCF_CLEANER_DISABLE ~0U
353 
357 #define MAX_TRIM_RQ_SIZE (512 * KiB)
358 
359 #endif /* __OCF_DEF_H__ */
Definition: ocf_def.h:190
ocf_promotion_t
Definition: ocf_def.h:214
Definition: ocf_def.h:237
ocf_metadata_layout_t
Definition: ocf_def.h:293
Definition: ocf_def.h:168
ocf_seq_cutoff_policy
Definition: ocf_def.h:180
Definition: ocf_def.h:280
ocf_eviction_t
Definition: ocf_def.h:200
Definition: ocf_def.h:277
Definition: ocf_def.h:274
Definition: ocf_def.h:286
Definition: ocf_def.h:271
Definition: ocf_def.h:215
Definition: ocf_def.h:259
Definition: ocf_def.h:181
Definition: ocf_def.h:218
Definition: ocf_def.h:156
ocf_cache_mode_t
Definition: ocf_def.h:149
ocf_cache_line_size_t
Definition: ocf_def.h:258
Definition: ocf_def.h:204
Definition: ocf_def.h:201
Definition: ocf_def.h:162
ocf_cache_state_initializing
Definition: ocf_def.h:121
Definition: ocf_def.h:174
Definition: ocf_def.h:153
ocf_cache_state_running
Definition: ocf_def.h:115
Definition: ocf_def.h:138
Definition: ocf_def.h:221
Definition: ocf_def.h:150
Definition: ocf_def.h:135
Definition: ocf_def.h:268
Definition: ocf_def.h:251
Definition: ocf_def.h:232
Definition: ocf_def.h:224
ocf_cache_state_t
Definition: ocf_def.h:114
ocf_cache_state_max
Definition: ocf_def.h:127
Definition: ocf_def.h:262
Definition: ocf_def.h:165
ocf_cleaning_t
Definition: ocf_def.h:231
Definition: ocf_def.h:171
Definition: ocf_def.h:187
Definition: ocf_def.h:141
Definition: ocf_def.h:283
ocf_core_state_t
Definition: ocf_def.h:134
Definition: ocf_def.h:243
Definition: ocf_def.h:207
Definition: ocf_def.h:159
Definition: ocf_def.h:193
ocf_cache_state_stopping
Definition: ocf_def.h:118
ocf_cache_state_incomplete
Definition: ocf_def.h:124
OCF configuration file.
Definition: ocf_def.h:184
Definition: ocf_def.h:248
Definition: ocf_def.h:265