Lines Matching full:lm
374 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_gc_list() local
392 } else if (vsc < lm->high_thrs) { in pblk_line_gc_list()
397 } else if (vsc < lm->mid_thrs) { in pblk_line_gc_list()
419 lm->high_thrs, lm->mid_thrs); in pblk_line_gc_list()
569 pblk->lm.sec_per_line, line->cur_sec); in pblk_dealloc_page()
585 if (line->cur_sec + nr_secs > pblk->lm.sec_per_line) { in __pblk_alloc_page()
587 nr_secs = pblk->lm.sec_per_line - line->cur_sec; in __pblk_alloc_page()
591 pblk->lm.sec_per_line, line->cur_sec); in __pblk_alloc_page()
620 pblk->lm.sec_per_line, line->cur_sec); in pblk_lookup_page()
636 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_submit_emeta_io() local
642 int left_ppas = lm->emeta_sec[0]; in pblk_line_submit_emeta_io()
771 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_smeta_start() local
775 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_smeta_start()
776 if (bit >= lm->blk_per_line) in pblk_line_smeta_start()
786 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_submit_smeta_io() local
816 bio = bio_map_kern(dev->q, line->smeta, lm->smeta_len, GFP_KERNEL); in pblk_line_submit_smeta_io()
828 rqd.nr_ppas = lm->smeta_sec; in pblk_line_submit_smeta_io()
830 for (i = 0; i < lm->smeta_sec; i++, paddr++) { in pblk_line_submit_smeta_io()
913 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_erase() local
920 bit = find_next_zero_bit(line->erase_bitmap, lm->blk_per_line, in pblk_line_erase()
922 if (bit >= lm->blk_per_line) { in pblk_line_erase()
946 struct pblk_line_meta *lm) in pblk_line_setup_metadata() argument
967 memset(line->smeta, 0, lm->smeta_len); in pblk_line_setup_metadata()
968 memset(line->emeta->buf, 0, lm->emeta_len[0]); in pblk_line_setup_metadata()
982 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_init_metadata() local
992 nr_blk_line = lm->blk_per_line - in pblk_line_init_metadata()
993 bitmap_weight(line->blk_bitmap, lm->blk_per_line); in pblk_line_init_metadata()
994 if (nr_blk_line < lm->min_blk_line) { in pblk_line_init_metadata()
1012 bitmap_set(line->lun_bitmap, 0, lm->lun_bitmap_len); in pblk_line_init_metadata()
1027 memcpy(line->lun_bitmap, cur->lun_bitmap, lm->lun_bitmap_len); in pblk_line_init_metadata()
1060 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_alloc_bitmaps() local
1062 line->map_bitmap = kzalloc(lm->sec_bitmap_len, GFP_KERNEL); in pblk_line_alloc_bitmaps()
1067 line->invalid_bitmap = kmalloc(lm->sec_bitmap_len, GFP_KERNEL); in pblk_line_alloc_bitmaps()
1085 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_init_bb() local
1091 line->sec_in_line = lm->sec_per_line; in pblk_line_init_bb()
1094 while ((bit = find_next_bit(line->blk_bitmap, lm->blk_per_line, in pblk_line_init_bb()
1095 bit + 1)) < lm->blk_per_line) { in pblk_line_init_bb()
1098 lm->sec_per_line); in pblk_line_init_bb()
1100 lm->sec_per_line); in pblk_line_init_bb()
1105 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_init_bb()
1107 bitmap_set(line->map_bitmap, off, lm->smeta_sec); in pblk_line_init_bb()
1108 line->sec_in_line -= lm->smeta_sec; in pblk_line_init_bb()
1110 line->cur_sec = off + lm->smeta_sec; in pblk_line_init_bb()
1117 bitmap_copy(line->invalid_bitmap, line->map_bitmap, lm->sec_per_line); in pblk_line_init_bb()
1122 emeta_secs = lm->emeta_sec[0]; in pblk_line_init_bb()
1123 off = lm->sec_per_line; in pblk_line_init_bb()
1133 line->sec_in_line -= lm->emeta_sec[0]; in pblk_line_init_bb()
1138 if (lm->sec_per_line - line->sec_in_line != in pblk_line_init_bb()
1139 bitmap_weight(line->invalid_bitmap, lm->sec_per_line)) { in pblk_line_init_bb()
1155 struct pblk_line_meta *lm = &pblk->lm; in pblk_prepare_new_line() local
1161 for (i = 0; i < lm->blk_per_line; i++) { in pblk_prepare_new_line()
1179 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_prepare() local
1184 bitmap_copy(line->erase_bitmap, line->blk_bitmap, lm->blk_per_line); in pblk_line_prepare()
1198 if (blk_in_line < lm->min_blk_line) { in pblk_line_prepare()
1215 line->meta_distance = lm->meta_distance; in pblk_line_prepare()
1289 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_get() local
1305 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line); in pblk_line_get()
1306 if (unlikely(bit >= lm->blk_per_line)) { in pblk_line_get()
1394 pblk_line_setup_metadata(line, l_mg, &pblk->lm); in pblk_line_get_first_data()
1454 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close_meta_sync() local
1470 while (emeta->mem < lm->emeta_len[0]) { in pblk_line_close_meta_sync()
1544 pblk_line_setup_metadata(new, l_mg, &pblk->lm); in pblk_line_replace_data()
1720 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close() local
1726 WARN(!bitmap_full(line->map_bitmap, lm->sec_per_line), in pblk_line_close()
1747 for (i = 0; i < lm->blk_per_line; i++) { in pblk_line_close()
1763 struct pblk_line_meta *lm = &pblk->lm; in pblk_line_close_meta() local
1766 struct wa_counters *wa = emeta_to_wa(lm, emeta_buf); in pblk_line_close_meta()
1769 memcpy(emeta_to_vsc(pblk, emeta_buf), l_mg->vsc_list, lm->vsc_list_len); in pblk_line_close_meta()
1770 memcpy(emeta_to_bb(emeta_buf), line->blk_bitmap, lm->blk_bitmap_len); in pblk_line_close_meta()
1808 struct pblk_line_meta *lm = &pblk->lm; in pblk_save_lba_list() local
1810 unsigned int lba_list_size = lm->emeta_len[2]; in pblk_save_lba_list()