| /spdk/lib/ftl/ |
| H A D | ftl_l2p_cache.c | 25 struct ftl_l2p_cache *cache; member 138 /* MD layout cache: Offset on a device in FTL_BLOCK_SIZE unit */ 141 /* MD layout cache: Device of region */ 144 /* MD layout cache: IO channel of region */ 148 typedef void (*ftl_l2p_cache_clear_cb)(struct ftl_l2p_cache *cache, int status, void *ctx_page); 149 typedef void (*ftl_l2p_cache_persist_cb)(struct ftl_l2p_cache *cache, int status, void *ctx_page); 154 static void page_set_end(struct spdk_ftl_dev *dev, struct ftl_l2p_cache *cache, 173 ftl_l2p_cache_get_lbas_in_page(struct ftl_l2p_cache *cache) in ftl_l2p_cache_get_lbas_in_page() argument 175 return cache->lbas_in_page; in ftl_l2p_cache_get_lbas_in_page() 185 ftl_l2p_cache_lru_remove_page(struct ftl_l2p_cache *cache, struc argument 195 ftl_l2p_cache_lru_add_page(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_lru_add_page() argument 206 ftl_l2p_cache_lru_promote_page(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_lru_promote_page() argument 217 ftl_l2p_cache_page_insert(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_insert() argument 227 ftl_l2p_cache_page_remove(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_remove() argument 240 ftl_l2p_cache_get_coldest_page(struct ftl_l2p_cache * cache) ftl_l2p_cache_get_coldest_page() argument 252 ftl_l2p_cache_page_get_bdev_offset(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_get_bdev_offset() argument 259 ftl_l2p_cache_get_bdev_desc(struct ftl_l2p_cache * cache) ftl_l2p_cache_get_bdev_desc() argument 265 ftl_l2p_cache_get_bdev_iochannel(struct ftl_l2p_cache * cache) ftl_l2p_cache_get_bdev_iochannel() argument 271 ftl_l2p_cache_page_alloc(struct ftl_l2p_cache * cache,size_t page_no) ftl_l2p_cache_page_alloc() argument 303 ftl_l2p_cache_get_addr(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,uint64_t lba) ftl_l2p_cache_get_addr() argument 309 ftl_l2p_cache_set_addr(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,uint64_t lba,ftl_addr addr) ftl_l2p_cache_set_addr() argument 319 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_page_set_invalid() local 337 ftl_l2p_cache_page_pin(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_pin() argument 347 ftl_l2p_cache_page_unpin(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_unpin() argument 375 ftl_l2p_cache_evict_continue(struct ftl_l2p_cache * cache) ftl_l2p_cache_evict_continue() argument 383 struct ftl_l2p_cache *cache; _ftl_l2p_cache_init() local 413 get_l2p_page_by_df_id(struct ftl_l2p_cache * cache,size_t page_no) get_l2p_page_by_df_id() argument 429 struct ftl_l2p_cache *cache; ftl_l2p_cache_init() local 511 ftl_l2p_cache_deinit_l2(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache) ftl_l2p_cache_deinit_l2() argument 529 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; _ftl_l2p_cache_deinit() local 539 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_deinit() local 551 process_init_ctx(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,ftl_l2p_cb cb,void * cb_ctx) process_init_ctx() argument 566 process_finish(struct ftl_l2p_cache * cache) process_finish() argument 583 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)page->ctx.cache; process_page_in() local 602 struct ftl_l2p_cache *cache = page->ctx.cache; process_persist_page_out_cb() local 632 struct ftl_l2p_cache *cache = page->ctx.cache; process_page_out() local 676 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)page->ctx.cache; process_trim_page_out_cb() local 701 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)page->ctx.cache; process_trim_page_in_cb() local 721 process_trim(struct ftl_l2p_cache * cache) process_trim() argument 763 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_trim() local 794 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; l2p_shm_restore_clean() local 833 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; l2p_shm_restore_dirty() local 893 process_persist(struct ftl_l2p_cache * cache) process_persist() argument 934 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_persist() local 943 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_is_halted() local 951 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_halt() local 964 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_resume() local 971 get_page(struct ftl_l2p_cache * cache,uint64_t lba) get_page() argument 988 ftl_l2p_cache_running(struct ftl_l2p_cache * cache) ftl_l2p_cache_running() argument 1003 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_pin() local 1071 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_unpin() local 1092 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_get() local 1115 struct ftl_l2p_cache *cache = (struct ftl_l2p_cache *)dev->l2p; ftl_l2p_cache_set() local 1133 page_allocate(struct ftl_l2p_cache * cache,uint64_t page_no) page_allocate() argument 1153 page_set_unpin(struct ftl_l2p_cache * cache,struct ftl_l2p_page_set * page_set) page_set_unpin() argument 1173 page_set_end(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page_set * page_set) page_set_end() argument 1192 page_in_io_complete(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,bool success) page_in_io_complete() argument 1239 struct ftl_l2p_cache *cache = page->ctx.cache; page_in_io_cb() local 1248 page_in_io(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) page_in_io() argument 1284 struct ftl_l2p_cache *cache = page->ctx.cache; page_in_io_retry() local 1292 page_in(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page_set * page_set,struct ftl_l2p_page_wait_ctx * pentry) page_in() argument 1322 ftl_l2p_cache_process_page_sets(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache) ftl_l2p_cache_process_page_sets() argument 1368 eviction_get_page(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache) eviction_get_page() argument 1395 page_out_io_complete(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,bool success) page_out_io_complete() argument 1422 struct ftl_l2p_cache *cache = page->ctx.cache; page_out_io_cb() local 1431 page_out_io(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) page_out_io() argument 1470 struct ftl_l2p_cache *cache = page->ctx.cache; page_out_io_retry() local 1478 ftl_l2p_cache_process_eviction(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache) ftl_l2p_cache_process_eviction() argument 1510 struct ftl_l2p_cache *cache = dev->l2p; ftl_l2p_lazy_trim_process_cb() local 1529 struct ftl_l2p_cache *cache = dev->l2p; ftl_l2p_lazy_trim_process() local 1572 struct ftl_l2p_cache *cache = dev->l2p; ftl_l2p_cache_process() local [all...] |
| /spdk/module/bdev/ocf/ |
| H A D | vbdev_ocf.c | 88 free(vbdev->cache.name); in free_vbdev() 93 /* Get existing cache base 101 if (&vbdev->cache == base || !vbdev->cache.attached) { in get_other_cache_base() 104 if (!strcmp(vbdev->cache.name, base->name)) { in get_other_cache_base() 105 return &vbdev->cache; in get_other_cache_base() 115 if (vbdev->cache.attached && vbdev->ocf_cache) { in is_ocf_cache_running() 124 if (vbdev->cache.attached && vbdev->ocf_cache) { in is_ocf_cache_initializing() 130 /* Get existing OCF cache instance 141 if (strcmp(cmp->cache in get_other_cache_instance() 214 remove_core_cache_lock_cmpl(ocf_cache_t cache,void * priv,int error) remove_core_cache_lock_cmpl() argument 262 stop_vbdev_cmpl(ocf_cache_t cache,void * priv,int error) stop_vbdev_cmpl() argument 274 stop_vbdev_cache_lock_cmpl(ocf_cache_t cache,void * priv,int error) stop_vbdev_cache_lock_cmpl() argument 310 flush_vbdev_cmpl(ocf_cache_t cache,void * priv,int error) flush_vbdev_cmpl() argument 319 flush_vbdev_cache_lock_cmpl(ocf_cache_t cache,void * priv,int error) flush_vbdev_cache_lock_cmpl() argument 969 add_core_cmpl(ocf_cache_t cache,ocf_core_t core,void * priv,int error) add_core_cmpl() argument 989 add_core_cache_lock_cmpl(ocf_cache_t cache,void * priv,int error) add_core_cache_lock_cmpl() argument 1009 start_cache_cmpl(ocf_cache_t cache,void * priv,int error) start_cache_cmpl() argument 1525 ocf_cache_t cache; vbdev_ocf_set_cache_mode() local 1548 ocf_cache_t cache; vbdev_ocf_set_seqcutoff() local [all...] |
| H A D | vbdev_ocf_rpc.c | 155 rpc_bdev_ocf_get_stats_cmpl(ocf_cache_t cache, void *priv, int error) in rpc_bdev_ocf_get_stats_cmpl() argument 165 error = vbdev_ocf_stats_get(cache, ctx->core_name, &stats); in rpc_bdev_ocf_get_stats_cmpl() 167 ocf_mngt_cache_read_unlock(cache); in rpc_bdev_ocf_get_stats_cmpl() 228 rpc_bdev_ocf_reset_stats_cmpl(ocf_cache_t cache, void *priv, int error) in rpc_bdev_ocf_reset_stats_cmpl() argument 236 error = vbdev_ocf_stats_reset(cache, ctx->core_name); in rpc_bdev_ocf_reset_stats_cmpl() 238 ocf_mngt_cache_read_unlock(cache); in rpc_bdev_ocf_reset_stats_cmpl() 310 strcmp(vbdev->cache.name, cctx->name) && in bdev_get_bdevs_fn() 320 spdk_json_write_named_string(w, "name", vbdev->cache.name); in bdev_get_bdevs_fn() 321 spdk_json_write_named_bool(w, "attached", vbdev->cache.attached); in bdev_get_bdevs_fn() 513 rpc_bdev_ocf_flush_start_cmpl(ocf_cache_t cache, void *priv, int error) in rpc_bdev_ocf_flush_start_cmpl() argument [all …]
|
| H A D | stats.h | 19 int vbdev_ocf_stats_get(ocf_cache_t cache, char *core_name, struct vbdev_ocf_stats *stats); 20 int vbdev_ocf_stats_reset(ocf_cache_t cache, char *core_name);
|
| H A D | stats.c | 10 vbdev_ocf_stats_get(ocf_cache_t cache, char *core_name, struct vbdev_ocf_stats *stats) in vbdev_ocf_stats_get() argument 15 status = ocf_core_get_by_name(cache, core_name, strlen(core_name), &core); in vbdev_ocf_stats_get() 24 vbdev_ocf_stats_reset(ocf_cache_t cache, char *core_name) in vbdev_ocf_stats_reset() argument 29 status = ocf_core_get_by_name(cache, core_name, strlen(core_name), &core); in vbdev_ocf_stats_reset()
|
| H A D | ctx.c | 270 vbdev_ocf_queue_create(ocf_cache_t cache, ocf_queue_t *queue, const struct ocf_queue_ops *ops) in vbdev_ocf_queue_create() argument 273 return ocf_queue_create(cache, queue, ops); in vbdev_ocf_queue_create() 277 vbdev_ocf_queue_create_mngt(ocf_cache_t cache, ocf_queue_t *queue, const struct ocf_queue_ops *ops) in vbdev_ocf_queue_create() 279 return ocf_queue_create_mngt(cache, queue, ops); in vbdev_ocf_queue_create() 334 ocf_cache_t cache = ocf_cleaner_get_cache(c); 335 struct vbdev_ocf_cache_ctx *cctx = ocf_cache_get_priv(cache); 369 /* We start cleaner poller at the same thread where cache was created in vbdev_ocf_ctx_cleaner_kick() 284 ocf_cache_t cache = ocf_queue_get_cache(queue); vbdev_ocf_queue_put() local 339 ocf_cache_t cache = ocf_cleaner_get_cache(c); vbdev_ocf_ctx_cleaner_init() local
|
| H A D | vbdev_ocf.h | 57 struct ocf_mngt_cache_config cache; member 131 struct vbdev_ocf_base cache; member
|
| H A D | utils.c | 52 ocf_get_cache_line_size(ocf_cache_t cache) in ocf_get_cache_line_size() argument 54 return ocf_cache_get_line_size(cache) / KiB; in ocf_get_cache_line_size()
|
| H A D | ctx.h | 19 /* Context of cache instance */ 33 int vbdev_ocf_queue_create(ocf_cache_t cache, ocf_queue_t *queue, const struct ocf_queue_ops *ops); 34 int vbdev_ocf_queue_create_mngt(ocf_cache_t cache, ocf_queue_t *queue,
|
| H A D | utils.h | 16 int ocf_get_cache_line_size(ocf_cache_t cache);
|
| H A D | volume.c | 183 ocf_cache_t cache; prepare_submit() local
|
| /spdk/lib/thread/ |
| H A D | iobuf.c | 385 struct spdk_iobuf_node_cache *cache = &ch->cache[numa_id]; in spdk_iobuf_channel_init() 388 cache->small.queue = &ch_node->small_queue; in spdk_iobuf_channel_init() 389 cache->large.queue = &ch_node->large_queue; 390 cache->small.pool = node->small_pool; 391 cache->large.pool = node->large_pool; in spdk_iobuf_channel_fini() 392 cache->small.bufsize = g_iobuf.opts.small_bufsize; in spdk_iobuf_channel_fini() 393 cache->large.bufsize = g_iobuf.opts.large_bufsize; in spdk_iobuf_channel_fini() 394 cache->small.cache_size = small_cache_size; in spdk_iobuf_channel_fini() 395 cache in spdk_iobuf_channel_fini() [all...] |
| /spdk/doc/ |
| H A D | ftl.md | 22 addresses in memory (the amount is configurable), and page them in and out of the cache device 69 ### Non volatile cache {#ftl_nvcache} 126 In addition to the [L2P](#ftl_l2p), FTL will store additional metadata both on the cache, as 129 - Superblock - stores the global state of FTL; stored on cache, mirrored to the base device 133 …e pointers, their OPEN/FREE/CLOSE state; stored on cache, mirrored to a different section of the c… 137 …e pointers, their OPEN/FREE/CLOSE state; stored on cache, mirrored to a different section of the c… 140 …fter dirty shutdown without needing VSS DIX metadata on the base device; stored on the cache device 142 …formation about unmapped (trimmed) LBAs; stored on cache, mirrored to a different section of the c… 147 …done, because while individual L2P pages may have been paged out and persisted to the cache device, 153 the cache device, in a separate metadata region (see [the P2L section](#ftl_metadata)). Open chunks… [all …]
|
| H A D | iscsi.md | 147 ### Deleting target node cache 253 [630112.126049] sd 68:0:0:0: [sdd] Write cache: enabled, read cache: disabled, doesn't support DPO … 259 [630112.127728] sd 68:0:0:1: [sde] Write cache: enabled, read cache: disabled, doesn't support DPO …
|
| H A D | blobfs.md | 65 3. `spdk_cache_size` - Defines the amount of userspace cache memory used by SPDK. Specified in ter…
|
| H A D | concurrency.md | 47 in a cache closer to that core. It's often most efficient to have each core work 48 on a small set of data sitting in its local cache and then hand off a small
|
| /spdk/scripts/ |
| H A D | gen_ftl.sh | 48 c) cache=$OPTARG ;; 65 create_json_config $name $base_bdev $uuid $cache
|
| /spdk/module/event/subsystems/iobuf/ |
| H A D | iobuf_rpc.c | 64 spdk_json_write_named_uint64(w, "cache", it->small_pool.cache); in rpc_iobuf_get_stats_done() 70 spdk_json_write_named_uint64(w, "cache", it->large_pool.cache); in rpc_iobuf_get_stats_done()
|
| /spdk/scripts/ceph/ |
| H A D | ceph.conf | 27 rbd cache = false
|
| /spdk/test/ocf/management/ |
| H A D | configuration-change.sh | 23 $rpc_py bdev_ocf_create Cache0 wt Malloc0 Malloc1 --cache-line-size $cache_line_size
|
| /spdk/test/blobstore/blob_io_wait/ |
| H A D | blob_io_wait.sh | 21 $rpc_py bdev_set_options --bdev-io-pool-size 128 --bdev-io-cache-size 1
|
| /spdk/test/ftl/ |
| H A D | common.sh | 113 cache_bdev=$(create_nv_cache_bdev cache "$FTL_CACHE" "$base_bdev" "$FTL_CACHE_SIZE")
|
| /spdk/python/spdk/rpc/ |
| H A D | bdev.py | 16 iobuf_small_cache_size: size of the small iobuf per thread cache 17 iobuf_large_cache_size: size of the large iobuf per thread cache 139 mode: OCF cache mode: {'wb', 'wt', 'pt', 'wa', 'wi', 'wo'} 140 cache_bdev_name: name of underlying cache bdev 142 cache_line_size: OCF cache line size. The unit is KiB: {4, 8, 16, 32, 64} 193 name: name of OCF vbdev or name of cache device or name of core device (optional) 204 """Set cache mode of OCF block device 207 mode: OCF cache mode: {'wb', 'wt', 'pt', 'wa', 'wi', 'wo'} 209 New cache mode name 218 """Set sequential cutoff parameters on all cores for the given OCF cache devic 1381 bdev_ftl_create(client, name, base_bdev, cache, **kwargs) global() argument 1399 bdev_ftl_load(client, name, base_bdev, cache, **kwargs) global() argument [all...] |
| /spdk/test/unit/lib/accel/accel.c/ |
| H A D | accel_ut.c | 2331 small = &accel_ch->iobuf.cache[0].small; in test_sequence_accel_buffers() 2334 STAILQ_SWAP(&small->cache, &small_cache, spdk_iobuf_buffer); in test_sequence_accel_buffers() 2385 /* Return the buffers back to the cache */ in test_sequence_accel_buffers() 2386 while (!STAILQ_EMPTY(&small->cache)) { in test_sequence_accel_buffers() 2387 cache_entry = STAILQ_FIRST(&small->cache); in test_sequence_accel_buffers() 2388 STAILQ_REMOVE_HEAD(&small->cache, stailq); in test_sequence_accel_buffers() 2465 /* Return the buffers back to the cache */ in test_sequence_accel_buffers() 2466 while (!STAILQ_EMPTY(&small->cache)) { in test_sequence_accel_buffers() 2467 cache_entry = STAILQ_FIRST(&small->cache); 2468 STAILQ_REMOVE_HEAD(&small->cache, stail [all...] |
| /spdk/test/nvme/perf/ |
| H A D | run_perf.sh | 166 bdev-io-cache-size=*) BDEV_CACHE="${OPTARG#*=}" ;;
|