As suggested by Jens [1], I audited all mempools on pblk. This patche series (i) fixes bad mempool allocations that did not guarantee forward progress and downsizes the sizes of some overused mempools, (ii) removes unnecessary checks, and (iii) eliminates some mempools that where introduced in early versions of pblk. [1] https://patchwork.kernel.org/patch/9940973/ Javier González (5): lightnvm: pblk: fix min size for page mempool lightnvm: pblk: simplify work_queue mempool lightnvm: pblk: decouple read/erase mempools lightnvm: pblk: do not use a mempool for line bitmaps lightnvm: pblk: remove checks on mempool alloc. drivers/lightnvm/pblk-core.c | 61 ++++++++++---------------- drivers/lightnvm/pblk-gc.c | 32 +++++++------- drivers/lightnvm/pblk-init.c | 94 +++++++++++++++++----------------------- drivers/lightnvm/pblk-read.c | 10 +---- drivers/lightnvm/pblk-recovery.c | 37 ++++------------ drivers/lightnvm/pblk-write.c | 32 ++++---------- drivers/lightnvm/pblk.h | 21 +++++---- 7 files changed, 106 insertions(+), 181 deletions(-) -- 2.7.4