Spdk/lib/ftl
Artur Paszkiewicz 63b2fecb3f ftl: nv cache write throttling
Adds user write throttling - since writing to cache must be balanced
against the ability to compact the data to the base device, this
throttling mechanism allows for a smoother, more stable performance
levels - tying the user write speed to the compaction drain speed.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Change-Id: Ia85efeb387f17c6c080b23ae4e658a6d7e47a2fb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13392
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-09-20 19:24:26 +00:00
..
mngt ftl: I/O statistics 2022-09-20 19:24:26 +00:00
upgrade ftl: Add md upgrade templates for P2L/Band/Chunk from version 0 to version 1 2022-09-20 19:24:26 +00:00
utils ftl: nv cache write throttling 2022-09-20 19:24:26 +00:00
ftl_band_ops.c ftl: I/O statistics 2022-09-20 19:24:26 +00:00
ftl_band.c Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
ftl_band.h Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
ftl_core.c ftl: nv cache write throttling 2022-09-20 19:24:26 +00:00
ftl_core.h ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_debug.c ftl: I/O statistics 2022-09-20 19:24:26 +00:00
ftl_debug.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_init.c ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_internal.h ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_io.c ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_io.h ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_l2p_cache.c ftl: I/O statistics 2022-09-20 19:24:26 +00:00
ftl_l2p_cache.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_l2p_flat.c FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p_flat.h FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p.c ftl: Add recovery and restart path for trim 2022-09-09 19:44:29 +00:00
ftl_l2p.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_layout.c ftl: Add upgrade of superblock from version 2 to version 3 2022-09-20 19:24:26 +00:00
ftl_layout.h FTL: Add helper functions for superblock upgrade 2022-09-20 19:24:26 +00:00
ftl_nv_cache_io.h FTL: Initial nv cache structure 2022-08-12 09:01:40 +00:00
ftl_nv_cache.c ftl: nv cache write throttling 2022-09-20 19:24:26 +00:00
ftl_nv_cache.h ftl: nv cache write throttling 2022-09-20 19:24:26 +00:00
ftl_p2l.c ftl: I/O statistics 2022-09-20 19:24:26 +00:00
ftl_reloc.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_rq.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_sb_common.h FTL: Add helper functions for superblock upgrade 2022-09-20 19:24:26 +00:00
ftl_sb_current.h ftl: Add upgrade of superblock from version 2 to version 3 2022-09-20 19:24:26 +00:00
ftl_sb.c ftl: Add md upgrade templates for P2L/Band/Chunk from version 0 to version 1 2022-09-20 19:24:26 +00:00
ftl_sb.h ftl: Add metadata upgrade framework 2022-09-20 19:24:26 +00:00
ftl_trace.c ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_trace.h ftl: I/O tracing 2022-09-20 19:24:26 +00:00
ftl_utils.h FTL: Add ftl mempools 2022-08-02 19:00:42 +00:00
ftl_writer.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_writer.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
Makefile ftl: I/O tracing 2022-09-20 19:24:26 +00:00
spdk_ftl.map ftl: I/O statistics 2022-09-20 19:24:26 +00:00