diff options
author | Javier González <jg@lightnvm.io> | 2017-06-26 05:57:19 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-06-26 18:27:39 -0400 |
commit | 0880a9aa2d91ff5131ecd0902a758afe760b9c1c (patch) | |
tree | 4a6859cc239610cf63a4a4875a6048e5b6a6b680 /drivers/lightnvm/pblk-write.c | |
parent | fd1b0158f5f5937d73d5c61e229350c6b905d0da (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.c | 13 |
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 | ||
20 | static 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 | |||
30 | static unsigned long pblk_end_w_bio(struct pblk *pblk, struct nvm_rq *rqd, | 20 | static 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); |