linux/drivers/lightnvm
Hans Holmberg 3bcebc5bac lightnvm: pblk: set conservative threshold for user writes
In a worst-case scenario (random writes), OP% of sectors
in each line will be invalid, and we will then need
to move data out of 100/OP% lines to free a single line.

So, to prevent the possibility of running out of lines,
temporarily block user writes when there is less than
100/OP% free lines.

Also ensure that pblk creation does not produce instances
with insufficient over provisioning.

Insufficient over-provising is not a problem on real hardware,
but often an issue when running QEMU simulations (with few lines).
100 lines is enough to create a sane instance with the standard
(11%) over provisioning.

Signed-off-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
Reviewed-by: Javier González <javier@javigon.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-12-11 12:22:33 -07:00
..
core.c lightnvm: Fix uninitialized return value in nvm_get_chunk_meta() 2018-12-11 12:22:33 -07:00
Kconfig lightnvm: remove dependencies on BLK_DEV_NVME and PCI 2018-10-09 08:25:05 -06:00
Makefile lightnvm: remove rrpc 2018-01-05 08:50:12 -07:00
pblk-cache.c lightnvm: pblk: add SPDX license tag 2018-10-09 08:25:08 -06:00
pblk-core.c lightnvm: pblk: fix chunk close trace event check 2018-12-11 12:22:33 -07:00
pblk-gc.c lightnvm: pblk: add SPDX license tag 2018-10-09 08:25:08 -06:00
pblk-init.c lightnvm: pblk: set conservative threshold for user writes 2018-12-11 12:22:33 -07:00
pblk-map.c lightnvm: pblk: stop writes gracefully when running out of lines 2018-12-11 12:22:33 -07:00
pblk-rb.c lightnvm: pblk: guarantee that backpointer is respected on writer stall 2018-10-09 08:25:08 -06:00
pblk-read.c lightnvm: pblk: add SPDX license tag 2018-10-09 08:25:08 -06:00
pblk-recovery.c lightnvm: pblk: ignore the smeta oob area scan 2018-12-11 12:22:33 -07:00
pblk-rl.c lightnvm: pblk: set conservative threshold for user writes 2018-12-11 12:22:33 -07:00
pblk-sysfs.c lightnvm: pblk: fix race on sysfs line state 2018-10-09 08:25:08 -06:00
pblk-trace.h lightnvm: pblk: add tracing for chunk resets 2018-10-09 08:25:07 -06:00
pblk-write.c lightnvm: pblk: stop writes gracefully when running out of lines 2018-12-11 12:22:33 -07:00
pblk.h lightnvm: pblk: set conservative threshold for user writes 2018-12-11 12:22:33 -07:00