linux/drivers/lightnvm
Javier González d45ebd470b lightnvm: pblk: choose optimal victim GC line
At the moment, we separate the closed lines on three different list
based on their number of valid sectors. GC recycles lines from each list
based on capacity. Lines from each list are taken in a FIFO fashion.

Since the number of lines is limited (it corresponds to the number of
blocks in a LUN, which is somewhere between 1000-2000), we can afford
scanning the lists to choose the optimal line to be recycled. This helps
specially in lines with a high number of valid sectors.

If the number of blocks per LUN increases, we will consider a more
efficient policy.

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:27:39 -06:00
..
core.c lightnvm: re-convert ppa format on I/O failure 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
pblk-cache.c lightnvm: physical block device (pblk) target 2017-04-16 10:06:33 -06:00
pblk-core.c lightnvm: pblk: simplify meta. memory allocation 2017-06-26 16:27:39 -06:00
pblk-gc.c lightnvm: pblk: choose optimal victim GC line 2017-06-26 16:27:39 -06:00
pblk-init.c lightnvm: pblk: decouple bad block from line alloc 2017-06-26 16:27:39 -06:00
pblk-map.c lightnvm: pblk: delete redundant buffer pointer 2017-06-26 16:27:39 -06:00
pblk-rb.c lightnvm: pblk: generalize erase path 2017-06-26 16:24:53 -06:00
pblk-read.c lightnvm: pblk: issue multiplane reads if possible 2017-06-26 16:27:39 -06:00
pblk-recovery.c lightnvm: pblk: issue multiplane reads if possible 2017-06-26 16:27:39 -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: delete redundant buffer pointer 2017-06-26 16:27:39 -06:00
pblk-write.c lightnvm: pblk: simplify meta. memory allocation 2017-06-26 16:27:39 -06:00
pblk.h lightnvm: pblk: simplify meta. memory allocation 2017-06-26 16:27:39 -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