Spdk/lib/ftl
Artur Paszkiewicz 0f99700db9 ftl: user write limits
Calculates general priorities and trigger points for writers
(gc and compaction) dependent on number of free bands. GC will
be started at SPDK_FTL_LIMIT_START level, while at SPDK_FTL_LIMIT_CRIT
compaction needs to be stopped and only GC is allowed to work.
This is done to make sure FTL doesn't run out of free bands and deadlock
itself.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Change-Id: I1aab98503c2e79e97f8e4e9fb1257530fa9770e2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13326
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-08-18 19:09:50 +00:00
..
mngt FTL: Add band P2L map usage 2022-08-18 19:09:50 +00:00
utils ftl: user write limits 2022-08-18 19:09:50 +00:00
ftl_band.c FTL: Add band P2L map usage 2022-08-18 19:09:50 +00:00
ftl_band.h FTL: Add band P2L map usage 2022-08-18 19:09:50 +00:00
ftl_core.c ftl: user write limits 2022-08-18 19:09:50 +00:00
ftl_core.h ftl: user write limits 2022-08-18 19:09:50 +00:00
ftl_debug.c FTL: Dump statistics on shutdown 2022-07-21 10:53:01 +00:00
ftl_debug.h FTL: Dump statistics on shutdown 2022-07-21 10:53:01 +00:00
ftl_init.c FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_internal.h FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_io.c FTL: Initial nv cache structure 2022-08-12 09:01:40 +00:00
ftl_io.h FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_l2p_flat.c FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_l2p_flat.h FTL: Add L2P API and flat L2P implementation 2022-08-12 09:01:40 +00:00
ftl_l2p.c FTL: Add band P2L map usage 2022-08-18 19:09:50 +00:00
ftl_l2p.h FTL: Add L2P API and flat L2P implementation 2022-08-12 09:01:40 +00:00
ftl_layout.c FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_layout.h FTL: Add band structure and helper functions 2022-08-18 19:09:50 +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: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_nv_cache.h FTL: Add write path 2022-08-18 08:34:47 +00:00
ftl_sb_common.h ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_sb_current.h ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_sb.c ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_sb.h ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_utils.h FTL: Add ftl mempools 2022-08-02 19:00:42 +00:00
Makefile FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
spdk_ftl.map FTL: Add write path 2022-08-18 08:34:47 +00:00