lightnvm: pblk: do not use a mempool for line bitmaps

pblk holds two sector bitmaps: one to keep track of the mapped sectors
while the line is active and another one to keep track of the invalid
sectors. The latter is kept during the whole live of the line, until it
is recycled. Since we cannot guarantee forward progress for the mempool
in this case, get rid of the mempool and simply allocate memory through
kmalloc.

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>
This commit is contained in:
Javier González
2017-10-13 14:46:09 +02:00
committad av Jens Axboe
förälder 0d880398cb
incheckning e72ec1d31b
5 ändrade filer med 14 tillägg och 50 borttagningar

Visa fil

@@ -40,8 +40,6 @@
#define PBLK_MAX_REQ_ADDRS (64)
#define PBLK_MAX_REQ_ADDRS_PW (6)
#define PBLK_META_POOL_SIZE (128)
#define PBLK_NR_CLOSE_JOBS (4)
#define PBLK_CACHE_NAME_LEN (DISK_NAME_LEN + 16)
@@ -627,7 +625,6 @@ struct pblk {
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;
struct workqueue_struct *bb_wq;