aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-sysfs.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-sysfs.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-sysfs.c')
-rw-r--r--drivers/lightnvm/pblk-sysfs.c10
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)
303static ssize_t pblk_sysfs_stats_debug(struct pblk *pblk, char *page) 302static 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),