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-sysfs.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-sysfs.c')
-rw-r--r-- | drivers/lightnvm/pblk-sysfs.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/lightnvm/pblk-sysfs.c b/drivers/lightnvm/pblk-sysfs.c index 3d9a77646a3d..e1e92c9498a9 100644 --- a/drivers/lightnvm/pblk-sysfs.c +++ b/drivers/lightnvm/pblk-sysfs.c | |||
@@ -154,7 +154,7 @@ static ssize_t pblk_sysfs_lines(struct pblk *pblk, char *page) | |||
154 | int d_line_cnt = 0, l_line_cnt = 0; | 154 | int d_line_cnt = 0, l_line_cnt = 0; |
155 | int gc_full = 0, gc_high = 0, gc_mid = 0, gc_low = 0, gc_empty = 0; | 155 | int gc_full = 0, gc_high = 0, gc_mid = 0, gc_low = 0, gc_empty = 0; |
156 | int bad = 0, cor = 0; | 156 | int bad = 0, cor = 0; |
157 | int msecs = 0, ssecs = 0, cur_sec = 0, vsc = 0, sec_in_line = 0; | 157 | int msecs = 0, cur_sec = 0, vsc = 0, sec_in_line = 0; |
158 | int map_weight = 0, meta_weight = 0; | 158 | int map_weight = 0, meta_weight = 0; |
159 | 159 | ||
160 | spin_lock(&l_mg->free_lock); | 160 | spin_lock(&l_mg->free_lock); |
@@ -227,7 +227,6 @@ static ssize_t pblk_sysfs_lines(struct pblk *pblk, char *page) | |||
227 | if (l_mg->data_line) { | 227 | if (l_mg->data_line) { |
228 | cur_sec = l_mg->data_line->cur_sec; | 228 | cur_sec = l_mg->data_line->cur_sec; |
229 | msecs = l_mg->data_line->left_msecs; | 229 | msecs = l_mg->data_line->left_msecs; |
230 | ssecs = l_mg->data_line->left_ssecs; | ||
231 | vsc = le32_to_cpu(*l_mg->data_line->vsc); | 230 | vsc = le32_to_cpu(*l_mg->data_line->vsc); |
232 | sec_in_line = l_mg->data_line->sec_in_line; | 231 | sec_in_line = l_mg->data_line->sec_in_line; |
233 | meta_weight = bitmap_weight(&l_mg->meta_bitmap, | 232 | meta_weight = bitmap_weight(&l_mg->meta_bitmap, |
@@ -259,8 +258,8 @@ static ssize_t pblk_sysfs_lines(struct pblk *pblk, char *page) | |||
259 | atomic_read(&pblk->gc.inflight_gc)); | 258 | atomic_read(&pblk->gc.inflight_gc)); |
260 | 259 | ||
261 | sz += snprintf(page + sz, PAGE_SIZE - sz, | 260 | sz += snprintf(page + sz, PAGE_SIZE - sz, |
262 | "data (%d) cur:%d, left:%d/%d, vsc:%d, s:%d, map:%d/%d (%d)\n", | 261 | "data (%d) cur:%d, left:%d, vsc:%d, s:%d, map:%d/%d (%d)\n", |
263 | cur_data, cur_sec, msecs, ssecs, vsc, sec_in_line, | 262 | cur_data, cur_sec, msecs, vsc, sec_in_line, |
264 | map_weight, lm->sec_per_line, meta_weight); | 263 | map_weight, lm->sec_per_line, meta_weight); |
265 | 264 | ||
266 | return sz; | 265 | return sz; |
@@ -303,7 +302,7 @@ static ssize_t pblk_sysfs_get_sec_per_write(struct pblk *pblk, char *page) | |||
303 | static ssize_t pblk_sysfs_stats_debug(struct pblk *pblk, char *page) | 302 | static ssize_t pblk_sysfs_stats_debug(struct pblk *pblk, char *page) |
304 | { | 303 | { |
305 | return snprintf(page, PAGE_SIZE, | 304 | return snprintf(page, PAGE_SIZE, |
306 | "%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\n", | 305 | "%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\t%lu\n", |
307 | atomic_long_read(&pblk->inflight_writes), | 306 | atomic_long_read(&pblk->inflight_writes), |
308 | atomic_long_read(&pblk->inflight_reads), | 307 | atomic_long_read(&pblk->inflight_reads), |
309 | atomic_long_read(&pblk->req_writes), | 308 | atomic_long_read(&pblk->req_writes), |
@@ -312,7 +311,6 @@ static ssize_t pblk_sysfs_stats_debug(struct pblk *pblk, char *page) | |||
312 | atomic_long_read(&pblk->padded_wb), | 311 | atomic_long_read(&pblk->padded_wb), |
313 | atomic_long_read(&pblk->sub_writes), | 312 | atomic_long_read(&pblk->sub_writes), |
314 | atomic_long_read(&pblk->sync_writes), | 313 | atomic_long_read(&pblk->sync_writes), |
315 | atomic_long_read(&pblk->compl_writes), | ||
316 | atomic_long_read(&pblk->recov_writes), | 314 | atomic_long_read(&pblk->recov_writes), |
317 | atomic_long_read(&pblk->recov_gc_writes), | 315 | atomic_long_read(&pblk->recov_gc_writes), |
318 | atomic_long_read(&pblk->recov_gc_reads), | 316 | atomic_long_read(&pblk->recov_gc_reads), |