linux/drivers/lightnvm
Javier González 1e82123da6 lightnvm: pblk: remove I/O dependency on write path
pblk schedules user I/O, metadata I/O and erases on the write path in
order to minimize collisions at the media level. Until now, there has
been a dependency between user and metadata I/Os that could lead to a
deadlock as both take the per-LUN semaphore to schedule submission.

This path removes this dependency and guarantees forward progress at a
per I/O granurality.

Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2017-10-13 08:34:57 -06:00
..
core.c lightnvm: remove already calculated nr_chnls 2017-10-13 08:34:57 -06:00
Kconfig lightnvm: include NVM Express driver if OCSSD is selected for build 2017-10-13 08:34:57 -06:00
Makefile lightnvm: physical block device (pblk) target 2017-04-16 10:06:33 -06:00
pblk-cache.c lightnvm: pblk: simplify path on REQ_PREFLUSH 2017-10-13 08:34:57 -06:00
pblk-core.c lightnvm: pblk: guarantee line integrity on reads 2017-10-13 08:34:57 -06:00
pblk-gc.c lightnvm: pblk: refactor read path on GC 2017-10-13 08:34:57 -06:00
pblk-init.c lightnvm: pblk: guarantee line integrity on reads 2017-10-13 08:34:57 -06:00
pblk-map.c lightnvm: pblk: fix bad le64 assignations 2017-06-30 11:08:18 -06:00
pblk-rb.c lightnvm: pblk: allocate bio size more accurately 2017-10-13 08:34:57 -06:00
pblk-read.c lightnvm: pblk: remove redundant check on read path 2017-10-13 08:34:57 -06:00
pblk-recovery.c lightnvm: pblk: refactor rqd alloc/free 2017-10-13 08:34:57 -06:00
pblk-rl.c lightnvm: pblk: avoid deadlock on low LUN config 2017-10-13 08:34:57 -06:00
pblk-sysfs.c lightnvm: pblk: remove unused return variable 2017-06-30 11:08:18 -06:00
pblk-write.c lightnvm: pblk: remove I/O dependency on write path 2017-10-13 08:34:57 -06:00
pblk.h lightnvm: pblk: guarantee line integrity on reads 2017-10-13 08:34:57 -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