summaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk.h
diff options
context:
space:
mode:
authorJavier González2017-10-13 14:46:08 +0200
committerJens Axboe2017-10-13 16:34:57 +0200
commit0d880398cb6254ab3e110e2a8a659da65a56ffee (patch)
tree226aacdbbef55ec17523569a30bc4e3f426e4e5b /drivers/lightnvm/pblk.h
parentlightnvm: pblk: simplify work_queue mempool (diff)
downloadkernel-qcow2-linux-0d880398cb6254ab3e110e2a8a659da65a56ffee.tar.gz
kernel-qcow2-linux-0d880398cb6254ab3e110e2a8a659da65a56ffee.tar.xz
kernel-qcow2-linux-0d880398cb6254ab3e110e2a8a659da65a56ffee.zip
lightnvm: pblk: decouple read/erase mempools
Since read and erase paths offer different guarantees for inflight I/Os, separate the mempools to set the right min_nr for each on creation. Reported-by: Jens Axboe <axboe@kernel.dk> 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>
Diffstat (limited to 'drivers/lightnvm/pblk.h')
-rw-r--r--drivers/lightnvm/pblk.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h
index efaa781abb06..419e1b7328e4 100644
--- a/drivers/lightnvm/pblk.h
+++ b/drivers/lightnvm/pblk.h
@@ -41,7 +41,6 @@
#define PBLK_MAX_REQ_ADDRS_PW (6)
#define PBLK_META_POOL_SIZE (128)
-#define PBLK_READ_REQ_POOL_SIZE (1024)
#define PBLK_NR_CLOSE_JOBS (4)
@@ -60,6 +59,7 @@
#define ERASE 2 /* READ = 0, WRITE = 1 */
+/* Static pool sizes */
#define PBLK_GEN_WS_POOL_SIZE (2)
enum {
@@ -624,8 +624,9 @@ struct pblk {
mempool_t *page_bio_pool;
mempool_t *gen_ws_pool;
mempool_t *rec_pool;
- mempool_t *g_rq_pool;
+ mempool_t *r_rq_pool;
mempool_t *w_rq_pool;
+ mempool_t *e_rq_pool;
mempool_t *line_meta_pool;
struct workqueue_struct *close_wq;