linux-sg2042/drivers/lightnvm
Javier González d624f371d5 lightnvm: pblk: generalize erase path
Erase I/Os are scheduled with the following goals in mind: (i) minimize
LUNs collisions with write I/Os, and (ii) even out the price of erasing
on every write, instead of putting all the burden on when garbage
collection runs. This works well on the current design, but is specific
to the default mapping algorithm.

This patch generalizes the erase path so that other mapping algorithms
can select an arbitrary line to be erased instead. It also gets rid of
the erase semaphore since it creates jittering for user writes.

Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <matias@cnexlabs.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2017-06-26 16:24:53 -06:00
..
Kconfig lightnvm: physical block device (pblk) target 2017-04-16 10:06:33 -06:00
Makefile lightnvm: physical block device (pblk) target 2017-04-16 10:06:33 -06:00
core.c lightnvm: re-convert ppa format on I/O failure 2017-06-26 16:24:53 -06:00
pblk-cache.c lightnvm: physical block device (pblk) target 2017-04-16 10:06:33 -06:00
pblk-core.c lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
pblk-gc.c lightnvm: pblk: fix erase counters on error fail 2017-04-23 16:57:52 -06:00
pblk-init.c lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
pblk-map.c lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
pblk-rb.c lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
pblk-read.c lightnvm: pblk: add debug stat for read cache hits 2017-06-26 16:24:53 -06:00
pblk-recovery.c lightnvm: pblk: spare double cpu_to_le64 calc. 2017-06-26 16:24:53 -06:00
pblk-rl.c lightnvm: pblk: fix erase counters on error fail 2017-04-23 16:57:52 -06:00
pblk-sysfs.c lightnvm: pblk: expose max sec per write on sysfs 2017-06-26 16:24:53 -06:00
pblk-write.c lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
pblk.h lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
rrpc.c blk: remove bio_set arg from blk_queue_split() 2017-06-18 12:40:59 -06:00
rrpc.h lightnvm: use end_io callback instead of instance 2017-01-31 08:32:13 -07:00