aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-write.c
diff options
context:
space:
mode:
authorJavier González <jg@lightnvm.io>2017-06-26 05:57:19 -0400
committerJens Axboe <axboe@kernel.dk>2017-06-26 18:27:39 -0400
commit0880a9aa2d91ff5131ecd0902a758afe760b9c1c (patch)
tree4a6859cc239610cf63a4a4875a6048e5b6a6b680 /drivers/lightnvm/pblk-write.c
parentfd1b0158f5f5937d73d5c61e229350c6b905d0da (diff)
lightnvm: pblk: delete redundant buffer pointer
After refactoring the metadata path, the backpointer controlling synced I/Os in a line becomes unnecessary; metadata is scheduled on the write thread, thus we know when the end of the line is reached and act on it directly. Signed-off-by: Javier González <javier@cnexlabs.com> Signed-off-by: Matias Bjørling <matias@cnexlabs.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/lightnvm/pblk-write.c')
-rw-r--r--drivers/lightnvm/pblk-write.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/lightnvm/pblk-write.c b/drivers/lightnvm/pblk-write.c
index 1739c970692e..a29a34786ac5 100644
--- a/drivers/lightnvm/pblk-write.c
+++ b/drivers/lightnvm/pblk-write.c
@@ -17,16 +17,6 @@
17 17
18#include "pblk.h" 18#include "pblk.h"
19 19
20static void pblk_sync_line(struct pblk *pblk, struct pblk_line *line)
21{
22#ifdef CONFIG_NVM_DEBUG
23 atomic_long_inc(&pblk->sync_writes);
24#endif
25
26 /* Counter protected by rb sync lock */
27 line->left_ssecs--;
28}
29
30static unsigned long pblk_end_w_bio(struct pblk *pblk, struct nvm_rq *rqd, 20static unsigned long pblk_end_w_bio(struct pblk *pblk, struct nvm_rq *rqd,
31 struct pblk_c_ctx *c_ctx) 21 struct pblk_c_ctx *c_ctx)
32{ 22{
@@ -44,14 +34,13 @@ static unsigned long pblk_end_w_bio(struct pblk *pblk, struct nvm_rq *rqd,
44 34
45 p = rqd->ppa_list[i]; 35 p = rqd->ppa_list[i];
46 line = &pblk->lines[pblk_dev_ppa_to_line(p)]; 36 line = &pblk->lines[pblk_dev_ppa_to_line(p)];
47 pblk_sync_line(pblk, line);
48 37
49 while ((original_bio = bio_list_pop(&w_ctx->bios))) 38 while ((original_bio = bio_list_pop(&w_ctx->bios)))
50 bio_endio(original_bio); 39 bio_endio(original_bio);
51 } 40 }
52 41
53#ifdef CONFIG_NVM_DEBUG 42#ifdef CONFIG_NVM_DEBUG
54 atomic_long_add(c_ctx->nr_valid, &pblk->compl_writes); 43 atomic_long_add(c_ctx->nr_valid, &pblk->sync_writes);
55#endif 44#endif
56 45
57 ret = pblk_rb_sync_advance(&pblk->rwb, c_ctx->nr_valid); 46 ret = pblk_rb_sync_advance(&pblk->rwb, c_ctx->nr_valid);