Spdk/lib/ftl
Konrad Sztyber 35fdf2dd9e lib/ftl: write buffer batches
This patch adds the ftl_batch strucutre, which describes a single batch
of data to be written to the disk.  It's comprised of multiple write
buffer entries (the actual number depends on the write unit size of the
underyling device).

Additionally, a function responsible for filling out a batch was added.
It iterates over available IO channels and dequeues submitted write
buffer entries until a batch is completed.  The IO channel queue is
shifted, so that each time the function is called a subsequent IO
channel is used first, which guarantees that all channels are treated
fairly.

Change-Id: Ie61d8c6cb51d5c5175540c975447bc27590c5cb4
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/905
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Wojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-03-02 10:27:06 +00:00
..
ftl_addr.h lib/ftl: Represent ftl_addr just with the offset value 2020-01-17 08:59:08 +00:00
ftl_band.c lib/ftl: use iovecs instead of single data pointer 2020-02-20 09:53:03 +00:00
ftl_band.h lib/ftl: Move zone reset logic from band to core 2020-02-10 10:24:38 +00:00
ftl_core.c lib/ftl: write buffer batches 2020-03-02 10:27:06 +00:00
ftl_core.h lib/ftl: write buffer batches 2020-03-02 10:27:06 +00:00
ftl_debug.c lib/ftl: Change "lbk" name to "block" 2020-01-17 08:59:08 +00:00
ftl_debug.h lib/ftl: Represent ftl_addr just with the offset value 2020-01-17 08:59:08 +00:00
ftl_init.c lib/ftl: write buffer batches 2020-03-02 10:27:06 +00:00
ftl_io.c lib/ftl: allocate separate memory for IO channels 2020-03-02 10:27:06 +00:00
ftl_io.h lib/ftl: write buffer batches 2020-03-02 10:27:06 +00:00
ftl_reloc.c lib/ftl: Band relocation should be performed only on closed bands 2020-02-28 08:54:07 +00:00
ftl_reloc.h lib/ftl: Change "lbk" name to "block" 2020-01-17 08:59:08 +00:00
ftl_restore.c lib/ftl: allocate separate memory for IO channels 2020-03-02 10:27:06 +00:00
ftl_rwb.c lib/ftl: track number of pending write buffer entries 2019-09-04 18:42:57 +00:00
ftl_rwb.h lib/ftl: Replace ftl_ppa struct with ftl_addr 2020-01-10 08:42:51 +00:00
ftl_trace.c lib/ftl: Change "lbk" name to "block" 2020-01-17 08:59:08 +00:00
ftl_trace.h lib/ftl: Replace ftl_ppa struct with ftl_addr 2020-01-10 08:42:51 +00:00
Makefile lib/ftl: ANM logic removal 2020-01-10 08:42:51 +00:00