Lines Matching refs:lm

372 	struct pblk_line_meta *lm = &pblk->lm;  in pblk_line_gc_list()  local
390 } else if (vsc < lm->high_thrs) { in pblk_line_gc_list()
395 } else if (vsc < lm->mid_thrs) { in pblk_line_gc_list()
417 lm->high_thrs, lm->mid_thrs); in pblk_line_gc_list()
567 pblk->lm.sec_per_line, line->cur_sec); in pblk_dealloc_page()
583 if (line->cur_sec + nr_secs > pblk->lm.sec_per_line) { in __pblk_alloc_page()
585 nr_secs = pblk->lm.sec_per_line - line->cur_sec; in __pblk_alloc_page()
589 pblk->lm.sec_per_line, line->cur_sec); in __pblk_alloc_page()
618 pblk->lm.sec_per_line, line->cur_sec); in pblk_lookup_page()
634 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_submit_emeta_io() local
640 int left_ppas = lm->emeta_sec[0]; in pblk_line_submit_emeta_io()
769 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_smeta_start() local
773 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_smeta_start()
774 if (bit >= lm->blk_per_line) in pblk_line_smeta_start()
784 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_submit_smeta_io() local
814 bio = bio_map_kern(dev->q, line->smeta, lm->smeta_len, GFP_KERNEL); in pblk_line_submit_smeta_io()
826 rqd.nr_ppas = lm->smeta_sec; in pblk_line_submit_smeta_io()
828 for (i = 0; i < lm->smeta_sec; i++, paddr++) { in pblk_line_submit_smeta_io()
926 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_erase() local
933 bit = find_next_zero_bit(line->erase_bitmap, lm->blk_per_line, in pblk_line_erase()
935 if (bit >= lm->blk_per_line) { in pblk_line_erase()
959 struct pblk_line_meta *lm) in pblk_line_setup_metadata() argument
980 memset(line->smeta, 0, lm->smeta_len); in pblk_line_setup_metadata()
981 memset(line->emeta->buf, 0, lm->emeta_len[0]); in pblk_line_setup_metadata()
995 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_init_metadata() local
1005 nr_blk_line = lm->blk_per_line - in pblk_line_init_metadata()
1006 bitmap_weight(line->blk_bitmap, lm->blk_per_line); in pblk_line_init_metadata()
1007 if (nr_blk_line < lm->min_blk_line) { in pblk_line_init_metadata()
1025 bitmap_set(line->lun_bitmap, 0, lm->lun_bitmap_len); in pblk_line_init_metadata()
1040 memcpy(line->lun_bitmap, cur->lun_bitmap, lm->lun_bitmap_len); in pblk_line_init_metadata()
1073 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_alloc_bitmaps() local
1075 line->map_bitmap = kzalloc(lm->sec_bitmap_len, GFP_KERNEL); in pblk_line_alloc_bitmaps()
1080 line->invalid_bitmap = kmalloc(lm->sec_bitmap_len, GFP_KERNEL); in pblk_line_alloc_bitmaps()
1098 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_init_bb() local
1104 line->sec_in_line = lm->sec_per_line; in pblk_line_init_bb()
1107 while ((bit = find_next_bit(line->blk_bitmap, lm->blk_per_line, in pblk_line_init_bb()
1108 bit + 1)) < lm->blk_per_line) { in pblk_line_init_bb()
1111 lm->sec_per_line); in pblk_line_init_bb()
1113 lm->sec_per_line); in pblk_line_init_bb()
1118 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_init_bb()
1120 bitmap_set(line->map_bitmap, off, lm->smeta_sec); in pblk_line_init_bb()
1121 line->sec_in_line -= lm->smeta_sec; in pblk_line_init_bb()
1123 line->cur_sec = off + lm->smeta_sec; in pblk_line_init_bb()
1130 bitmap_copy(line->invalid_bitmap, line->map_bitmap, lm->sec_per_line); in pblk_line_init_bb()
1135 emeta_secs = lm->emeta_sec[0]; in pblk_line_init_bb()
1136 off = lm->sec_per_line; in pblk_line_init_bb()
1146 line->sec_in_line -= lm->emeta_sec[0]; in pblk_line_init_bb()
1151 if (lm->sec_per_line - line->sec_in_line != in pblk_line_init_bb()
1152 bitmap_weight(line->invalid_bitmap, lm->sec_per_line)) { in pblk_line_init_bb()
1168 struct pblk_line_meta *lm = &pblk->lm; in pblk_prepare_new_line() local
1174 for (i = 0; i < lm->blk_per_line; i++) { in pblk_prepare_new_line()
1192 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_prepare() local
1197 bitmap_copy(line->erase_bitmap, line->blk_bitmap, lm->blk_per_line); in pblk_line_prepare()
1211 if (blk_in_line < lm->min_blk_line) { in pblk_line_prepare()
1228 line->meta_distance = lm->meta_distance; in pblk_line_prepare()
1295 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_get() local
1311 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_get()
1312 if (unlikely(bit >= lm->blk_per_line)) { in pblk_line_get()
1400 pblk_line_setup_metadata(line, l_mg, &pblk->lm); in pblk_line_get_first_data()
1460 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close_meta_sync() local
1476 while (emeta->mem < lm->emeta_len[0]) { in pblk_line_close_meta_sync()
1549 pblk_line_setup_metadata(new, l_mg, &pblk->lm); in pblk_line_replace_data()
1725 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close() local
1731 WARN(!bitmap_full(line->map_bitmap, lm->sec_per_line), in pblk_line_close()
1752 for (i = 0; i < lm->blk_per_line; i++) { in pblk_line_close()
1768 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close_meta() local
1771 struct wa_counters *wa = emeta_to_wa(lm, emeta_buf); in pblk_line_close_meta()
1774 memcpy(emeta_to_vsc(pblk, emeta_buf), l_mg->vsc_list, lm->vsc_list_len); in pblk_line_close_meta()
1775 memcpy(emeta_to_bb(emeta_buf), line->blk_bitmap, lm->blk_bitmap_len); in pblk_line_close_meta()
1804 struct pblk_line_meta *lm = &pblk->lm; in pblk_save_lba_list() local
1806 unsigned int lba_list_size = lm->emeta_len[2]; in pblk_save_lba_list()