/kernel/linux/linux-5.10/drivers/lightnvm/ |
H A D | pblk-init.c | 19 * pblk-init.c - pblk's initialization. 22 #include "pblk.h" 23 #include "pblk-trace.h" 52 struct pblk *pblk = bio->bi_disk->queue->queuedata; in pblk_submit_bio() local 55 pblk_discard(pblk, bio); in pblk_submit_bio() 67 pblk_submit_read(pblk, bio); in pblk_submit_bio() 73 if (pblk_get_secs(bio) > pblk_rl_max_io(&pblk->rl)) in pblk_submit_bio() 76 pblk_write_to_cache(pblk, bi in pblk_submit_bio() 88 pblk_trans_map_size(struct pblk *pblk) pblk_trans_map_size() argument 99 pblk_l2p_crc(struct pblk *pblk) pblk_l2p_crc() argument 110 pblk_l2p_free(struct pblk *pblk) pblk_l2p_free() argument 115 pblk_l2p_recover(struct pblk *pblk, bool factory_init) pblk_l2p_recover() argument 146 pblk_l2p_init(struct pblk *pblk, bool factory_init) pblk_l2p_init() argument 174 pblk_rwb_free(struct pblk *pblk) pblk_rwb_free() argument 182 pblk_rwb_init(struct pblk *pblk) pblk_rwb_init() argument 201 pblk_set_addrf_12(struct pblk *pblk, struct nvm_geo *geo, struct nvm_addrf_12 *dst) pblk_set_addrf_12() argument 274 pblk_set_addrf(struct pblk *pblk) pblk_set_addrf() argument 376 pblk_core_init(struct pblk *pblk) pblk_core_init() argument 518 pblk_core_free(struct pblk *pblk) pblk_core_free() argument 540 pblk_line_mg_free(struct pblk *pblk) pblk_line_mg_free() argument 572 pblk_lines_free(struct pblk *pblk) pblk_lines_free() argument 591 pblk_luns_init(struct pblk *pblk) pblk_luns_init() argument 625 calc_emeta_len(struct pblk *pblk) calc_emeta_len() argument 653 pblk_set_provision(struct pblk *pblk, int nr_free_chks) pblk_set_provision() argument 709 pblk_setup_line_meta_chk(struct pblk *pblk, struct pblk_line *line, struct nvm_chk_meta *meta) pblk_setup_line_meta_chk() argument 756 pblk_setup_line_meta(struct pblk *pblk, struct pblk_line *line, void *chunk_meta, int line_id) pblk_setup_line_meta() argument 788 pblk_alloc_line_meta(struct pblk *pblk, struct pblk_line *line) pblk_alloc_line_meta() argument 821 pblk_line_mg_init(struct pblk *pblk) pblk_line_mg_init() argument 938 pblk_line_meta_init(struct pblk *pblk) pblk_line_meta_init() argument 999 pblk_lines_init(struct pblk *pblk) pblk_lines_init() argument 1072 pblk_writer_init(struct pblk *pblk) pblk_writer_init() argument 1090 pblk_writer_stop(struct pblk *pblk) pblk_writer_stop() argument 1106 pblk_free(struct pblk *pblk) pblk_free() argument 1116 pblk_tear_down(struct pblk *pblk, bool graceful) pblk_tear_down() argument 1130 struct pblk *pblk = private; pblk_exit() local 1144 struct pblk *pblk = private; pblk_capacity() local 1155 struct pblk *pblk; pblk_init() local [all...] |
H A D | pblk-write.c | 16 * pblk-write.c - pblk's write path from write buffer to media 19 #include "pblk.h" 20 #include "pblk-trace.h" 22 static unsigned long pblk_end_w_bio(struct pblk *pblk, struct nvm_rq *rqd, in pblk_end_w_bio() argument 26 struct pblk_rb *rwb = &pblk->rwb; in pblk_end_w_bio() 53 pblk_bio_free_pages(pblk, rqd->bio, c_ctx->nr_valid, in pblk_end_w_bio() 57 atomic_long_add(rqd->nr_ppas, &pblk->sync_writes); in pblk_end_w_bio() 60 ret = pblk_rb_sync_advance(&pblk in pblk_end_w_bio() 68 pblk_end_queued_w_bio(struct pblk *pblk, struct nvm_rq *rqd, struct pblk_c_ctx *c_ctx) pblk_end_queued_w_bio() argument 76 pblk_complete_write(struct pblk *pblk, struct nvm_rq *rqd, struct pblk_c_ctx *c_ctx) pblk_complete_write() argument 108 pblk_map_remaining(struct pblk *pblk, struct ppa_addr *ppa, int rqd_ppas) pblk_map_remaining() argument 147 pblk_prepare_resubmit(struct pblk *pblk, unsigned int sentry, unsigned int nr_entries) pblk_prepare_resubmit() argument 186 pblk_queue_resubmit(struct pblk *pblk, struct pblk_c_ctx *c_ctx) pblk_queue_resubmit() argument 212 struct pblk *pblk = recovery->pblk; pblk_submit_rec() local 235 pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) pblk_end_w_fail() argument 254 struct pblk *pblk = rqd->private; pblk_end_io_write() local 274 struct pblk *pblk = rqd->private; pblk_end_io_write_meta() local 302 pblk_alloc_w_rq(struct pblk *pblk, struct nvm_rq *rqd, unsigned int nr_secs, nvm_end_io_fn(*end_io)) pblk_alloc_w_rq() argument 315 pblk_setup_w_rq(struct pblk *pblk, struct nvm_rq *rqd, struct ppa_addr *erase_ppa) pblk_setup_w_rq() argument 348 pblk_calc_secs_to_sync(struct pblk *pblk, unsigned int secs_avail, unsigned int secs_to_flush) pblk_calc_secs_to_sync() argument 367 pblk_submit_meta_io(struct pblk *pblk, struct pblk_line *meta_line) pblk_submit_meta_io() argument 433 pblk_valid_meta_ppa(struct pblk *pblk, struct pblk_line *meta_line, struct nvm_rq *data_rqd) pblk_valid_meta_ppa() argument 469 pblk_should_submit_meta_io(struct pblk *pblk, struct nvm_rq *data_rqd) pblk_should_submit_meta_io() argument 494 pblk_submit_io_set(struct pblk *pblk, struct nvm_rq *rqd) pblk_submit_io_set() argument 545 pblk_free_write_rqd(struct pblk *pblk, struct nvm_rq *rqd) pblk_free_write_rqd() argument 555 pblk_submit_write(struct pblk *pblk, int *secs_left) pblk_submit_write() argument 649 struct pblk *pblk = data; pblk_write_ts() local [all...] |
H A D | pblk-core.c | 16 * pblk-core.c - pblk's core functionality 22 #include "pblk.h" 23 #include "pblk-trace.h" 29 struct pblk *pblk = line_ws->pblk; in pblk_line_mark_bb() local 30 struct nvm_tgt_dev *dev = pblk->dev; in pblk_line_mark_bb() 39 line = pblk_ppa_to_line(pblk, *ppa); in pblk_line_mark_bb() 42 pblk_err(pblk, "faile in pblk_line_mark_bb() 50 pblk_mark_bb(struct pblk *pblk, struct pblk_line *line, struct ppa_addr ppa_addr) pblk_mark_bb() argument 79 __pblk_end_io_erase(struct pblk *pblk, struct nvm_rq *rqd) __pblk_end_io_erase() argument 115 struct pblk *pblk = rqd->private; pblk_end_io_erase() local 126 pblk_get_chunk_meta(struct pblk *pblk) pblk_get_chunk_meta() argument 151 pblk_chunk_get_off(struct pblk *pblk, struct nvm_chk_meta *meta, struct ppa_addr ppa) pblk_chunk_get_off() argument 164 __pblk_map_invalidate(struct pblk *pblk, struct pblk_line *line, u64 paddr) __pblk_map_invalidate() argument 204 pblk_map_invalidate(struct pblk *pblk, struct ppa_addr ppa) pblk_map_invalidate() argument 221 pblk_invalidate_range(struct pblk *pblk, sector_t slba, unsigned int nr_secs) pblk_invalidate_range() argument 241 pblk_alloc_rqd_meta(struct pblk *pblk, struct nvm_rq *rqd) pblk_alloc_rqd_meta() argument 259 pblk_free_rqd_meta(struct pblk *pblk, struct nvm_rq *rqd) pblk_free_rqd_meta() argument 269 pblk_alloc_rqd(struct pblk *pblk, int type) pblk_alloc_rqd() argument 297 pblk_free_rqd(struct pblk *pblk, struct nvm_rq *rqd, int type) pblk_free_rqd() argument 323 pblk_bio_free_pages(struct pblk *pblk, struct bio *bio, int off, int nr_pages) pblk_bio_free_pages() argument 339 pblk_bio_add_pages(struct pblk *pblk, struct bio *bio, gfp_t flags, int nr_pages) pblk_bio_add_pages() argument 363 pblk_write_kick(struct pblk *pblk) pblk_write_kick() argument 371 struct pblk *pblk = from_timer(pblk, t, wtimer); pblk_write_timer_fn() local 377 pblk_write_should_kick(struct pblk *pblk) pblk_write_should_kick() argument 385 pblk_wait_for_meta(struct pblk *pblk) pblk_wait_for_meta() argument 395 pblk_flush_writer(struct pblk *pblk) pblk_flush_writer() argument 407 pblk_line_gc_list(struct pblk *pblk, struct pblk_line *line) pblk_line_gc_list() argument 465 pblk_discard(struct pblk *pblk, struct bio *bio) pblk_discard() argument 473 pblk_log_write_err(struct pblk *pblk, struct nvm_rq *rqd) pblk_log_write_err() argument 481 pblk_log_read_err(struct pblk *pblk, struct nvm_rq *rqd) pblk_log_read_err() argument 505 pblk_set_sec_per_write(struct pblk *pblk, int sec_per_write) pblk_set_sec_per_write() argument 510 pblk_submit_io(struct pblk *pblk, struct nvm_rq *rqd, void *buf) pblk_submit_io() argument 524 pblk_check_chunk_state_update(struct pblk *pblk, struct nvm_rq *rqd) pblk_check_chunk_state_update() argument 544 pblk_submit_io_sync(struct pblk *pblk, struct nvm_rq *rqd, void *buf) pblk_submit_io_sync() argument 565 pblk_submit_io_sync_sem(struct pblk *pblk, struct nvm_rq *rqd, void *buf) pblk_submit_io_sync_sem() argument 578 pblk_calc_secs(struct pblk *pblk, unsigned long secs_avail, unsigned long secs_to_flush, bool skip_meta) pblk_calc_secs() argument 598 pblk_dealloc_page(struct pblk *pblk, struct pblk_line *line, int nr_secs) pblk_dealloc_page() argument 613 __pblk_alloc_page(struct pblk *pblk, struct pblk_line *line, int nr_secs) __pblk_alloc_page() argument 634 pblk_alloc_page(struct pblk *pblk, struct pblk_line *line, int nr_secs) pblk_alloc_page() argument 650 pblk_lookup_page(struct pblk *pblk, struct pblk_line *line) pblk_lookup_page() argument 662 pblk_line_smeta_start(struct pblk *pblk, struct pblk_line *line) pblk_line_smeta_start() argument 677 pblk_line_smeta_read(struct pblk *pblk, struct pblk_line *line) pblk_line_smeta_read() argument 717 pblk_line_smeta_write(struct pblk *pblk, struct pblk_line *line, u64 paddr) pblk_line_smeta_write() argument 764 pblk_line_emeta_read(struct pblk *pblk, struct pblk_line *line, void *emeta_buf) pblk_line_emeta_read() argument 855 pblk_setup_e_rq(struct pblk *pblk, struct nvm_rq *rqd, struct ppa_addr ppa) pblk_setup_e_rq() argument 865 pblk_blk_erase_sync(struct pblk *pblk, struct ppa_addr ppa) pblk_blk_erase_sync() argument 885 pblk_line_erase(struct pblk *pblk, struct pblk_line *line) pblk_line_erase() argument 951 pblk_line_init_metadata(struct pblk *pblk, struct pblk_line *line, struct pblk_line *cur) pblk_line_init_metadata() argument 1034 pblk_line_alloc_bitmaps(struct pblk *pblk, struct pblk_line *line) pblk_line_alloc_bitmaps() argument 1059 pblk_line_init_bb(struct pblk *pblk, struct pblk_line *line, int init) pblk_line_init_bb() argument 1133 pblk_prepare_new_line(struct pblk *pblk, struct pblk_line *line) pblk_prepare_new_line() argument 1157 pblk_line_prepare(struct pblk *pblk, struct pblk_line *line) pblk_line_prepare() argument 1209 pblk_line_recov_alloc(struct pblk *pblk, struct pblk_line *line) pblk_line_recov_alloc() argument 1246 pblk_line_recov_close(struct pblk *pblk, struct pblk_line *line) pblk_line_recov_close() argument 1268 struct pblk *pblk = line->pblk; pblk_line_free() local 1277 pblk_line_get(struct pblk *pblk) pblk_line_get() argument 1330 pblk_line_retry(struct pblk *pblk, struct pblk_line *line) pblk_line_retry() argument 1364 pblk_set_space_limit(struct pblk *pblk) pblk_set_space_limit() argument 1371 pblk_line_get_first_data(struct pblk *pblk) pblk_line_get_first_data() argument 1436 pblk_ppa_to_line_put(struct pblk *pblk, struct ppa_addr ppa) pblk_ppa_to_line_put() argument 1444 pblk_rq_to_line_put(struct pblk *pblk, struct nvm_rq *rqd) pblk_rq_to_line_put() argument 1453 pblk_stop_writes(struct pblk *pblk, struct pblk_line *line) pblk_stop_writes() argument 1462 pblk_line_close_meta_sync(struct pblk *pblk) pblk_line_close_meta_sync() argument 1497 __pblk_pipeline_flush(struct pblk *pblk) __pblk_pipeline_flush() argument 1525 __pblk_pipeline_stop(struct pblk *pblk) __pblk_pipeline_stop() argument 1537 pblk_pipeline_stop(struct pblk *pblk) pblk_pipeline_stop() argument 1543 pblk_line_replace_data(struct pblk *pblk) pblk_line_replace_data() argument 1615 __pblk_line_put(struct pblk *pblk, struct pblk_line *line) __pblk_line_put() argument 1656 struct pblk *pblk = line_put_ws->pblk; pblk_line_put_ws() local 1666 struct pblk *pblk = line->pblk; pblk_line_put() local 1674 struct pblk *pblk = line->pblk; pblk_line_put_wq() local 1689 pblk_blk_erase_async(struct pblk *pblk, struct ppa_addr ppa) pblk_blk_erase_async() argument 1720 pblk_line_get_data(struct pblk *pblk) pblk_line_get_data() argument 1726 pblk_line_get_erase(struct pblk *pblk) pblk_line_get_erase() argument 1736 pblk_line_should_sync_meta(struct pblk *pblk) pblk_line_should_sync_meta() argument 1742 pblk_line_close(struct pblk *pblk, struct pblk_line *line) pblk_line_close() argument 1788 pblk_line_close_meta(struct pblk *pblk, struct pblk_line *line) pblk_line_close_meta() argument 1835 pblk_save_lba_list(struct pblk *pblk, struct pblk_line *line) pblk_save_lba_list() argument 1851 struct pblk *pblk = line_ws->pblk; pblk_line_close_ws() local 1865 pblk_gen_run_ws(struct pblk *pblk, struct pblk_line *line, void *priv, void (*work)(struct work_struct *), gfp_t gfp_mask, struct workqueue_struct *wq) pblk_gen_run_ws() argument 1881 __pblk_down_chunk(struct pblk *pblk, int pos) __pblk_down_chunk() argument 1897 pblk_down_chunk(struct pblk *pblk, struct ppa_addr ppa) pblk_down_chunk() argument 1906 pblk_down_rq(struct pblk *pblk, struct ppa_addr ppa, unsigned long *lun_bitmap) pblk_down_rq() argument 1922 pblk_up_chunk(struct pblk *pblk, struct ppa_addr ppa) pblk_up_chunk() argument 1933 pblk_up_rq(struct pblk *pblk, unsigned long *lun_bitmap) pblk_up_rq() argument 1947 pblk_update_map(struct pblk *pblk, sector_t lba, struct ppa_addr ppa) pblk_update_map() argument 1967 pblk_update_map_cache(struct pblk *pblk, sector_t lba, struct ppa_addr ppa) pblk_update_map_cache() argument 1979 pblk_update_map_gc(struct pblk *pblk, sector_t lba, struct ppa_addr ppa_new, struct pblk_line *gc_line, u64 paddr_gc) pblk_update_map_gc() argument 2017 pblk_update_map_dev(struct pblk *pblk, sector_t lba, struct ppa_addr ppa_mapped, struct ppa_addr ppa_cache) pblk_update_map_dev() argument 2064 pblk_lookup_l2p_seq(struct pblk *pblk, struct ppa_addr *ppas, sector_t blba, int nr_secs, bool *from_cache) pblk_lookup_l2p_seq() argument 2094 pblk_lookup_l2p_rand(struct pblk *pblk, struct ppa_addr *ppas, u64 *lba_list, int nr_secs) pblk_lookup_l2p_rand() argument 2115 pblk_get_meta_for_writes(struct pblk *pblk, struct nvm_rq *rqd) pblk_get_meta_for_writes() argument 2133 pblk_get_packed_meta(struct pblk *pblk, struct nvm_rq *rqd) pblk_get_packed_meta() argument [all...] |
H A D | pblk.h | 126 struct pblk *pblk; member 133 struct pblk *pblk; member 271 * pblk->max_write_pgs size, which in NVMe is 327 #define PBLK_MAGIC 0x70626c6b /*pblk*/ 343 __le32 identifier; /* pblk identifier */ 433 struct pblk *pblk; member 592 struct pblk { struct 702 struct pblk *pblk; global() member 945 emeta_to_lbas(struct pblk *pblk, struct line_emeta *emeta) emeta_to_lbas() argument 950 emeta_to_vsc(struct pblk *pblk, struct line_emeta *emeta) emeta_to_vsc() argument 965 pblk_ppa_to_line(struct pblk *pblk, struct ppa_addr p) pblk_ppa_to_line() argument 976 addr_to_gen_ppa(struct pblk *pblk, u64 paddr, u64 line_id) addr_to_gen_ppa() argument 1016 pblk_dev_ppa_to_chunk(struct pblk *pblk, struct ppa_addr p) pblk_dev_ppa_to_chunk() argument 1027 pblk_dev_ppa_to_chunk_addr(struct pblk *pblk, struct ppa_addr p) pblk_dev_ppa_to_chunk_addr() argument 1035 pblk_dev_ppa_to_line_addr(struct pblk *pblk, struct ppa_addr p) pblk_dev_ppa_to_line_addr() argument 1066 pblk_ppa32_to_ppa64(struct pblk *pblk, u32 ppa32) pblk_ppa32_to_ppa64() argument 1073 pblk_ppa64_to_ppa32(struct pblk *pblk, struct ppa_addr ppa64) pblk_ppa64_to_ppa32() argument 1080 pblk_trans_map_get(struct pblk *pblk, sector_t lba) pblk_trans_map_get() argument 1098 pblk_trans_map_set(struct pblk *pblk, sector_t lba, struct ppa_addr ppa) pblk_trans_map_set() argument 1147 pblk_calc_meta_header_crc(struct pblk *pblk, struct line_header *header) pblk_calc_meta_header_crc() argument 1158 pblk_calc_smeta_crc(struct pblk *pblk, struct line_smeta *smeta) pblk_calc_smeta_crc() argument 1172 pblk_calc_emeta_crc(struct pblk *pblk, struct line_emeta *emeta) pblk_calc_emeta_crc() argument 1186 pblk_io_aligned(struct pblk *pblk, int nr_secs) pblk_io_aligned() argument 1192 print_ppa(struct pblk *pblk, struct ppa_addr *p, char *msg, int error) print_ppa() argument 1212 pblk_print_failed_rqd(struct pblk *pblk, struct nvm_rq *rqd, int error) pblk_print_failed_rqd() argument 1265 pblk_check_io(struct pblk *pblk, struct nvm_rq *rqd) pblk_check_io() argument 1298 pblk_boundary_paddr_checks(struct pblk *pblk, u64 paddr) pblk_boundary_paddr_checks() argument 1323 pblk_disk_name(struct pblk *pblk) pblk_disk_name() argument 1330 pblk_get_min_chks(struct pblk *pblk) pblk_get_min_chks() argument 1340 pblk_get_meta(struct pblk *pblk, void *meta, int index) pblk_get_meta() argument 1348 pblk_dma_meta_size(struct pblk *pblk) pblk_dma_meta_size() argument 1354 pblk_is_oob_meta_supported(struct pblk *pblk) pblk_is_oob_meta_supported() argument [all...] |
H A D | pblk-recovery.c | 15 * pblk-recovery.c - pblk's recovery path 21 #include "pblk.h" 22 #include "pblk-trace.h" 24 int pblk_recov_check_emeta(struct pblk *pblk, struct line_emeta *emeta_buf) in pblk_recov_check_emeta() argument 28 crc = pblk_calc_emeta_crc(pblk, emeta_buf); in pblk_recov_check_emeta() 38 static int pblk_recov_l2p_from_emeta(struct pblk *pblk, struct pblk_line *line) in pblk_recov_l2p_from_emeta() argument 40 struct nvm_tgt_dev *dev = pblk in pblk_recov_l2p_from_emeta() 93 pblk_update_line_wp(struct pblk *pblk, struct pblk_line *line, u64 written_secs) pblk_update_line_wp() argument 116 pblk_sec_in_open_line(struct pblk *pblk, struct pblk_line *line) pblk_sec_in_open_line() argument 162 struct pblk *pblk = pad_rq->pblk; pblk_end_io_recov() local 173 pblk_recov_pad_line(struct pblk *pblk, struct pblk_line *line, int left_ppas) pblk_recov_pad_line() argument 291 pblk_pad_distance(struct pblk *pblk, struct pblk_line *line) pblk_pad_distance() argument 301 pblk_get_stripe_chunk(struct pblk *pblk, struct pblk_line *line, int index) pblk_get_stripe_chunk() argument 318 pblk_line_wps_are_unbalanced(struct pblk *pblk, struct pblk_line *line) pblk_line_wps_are_unbalanced() argument 354 pblk_recov_scan_oob(struct pblk *pblk, struct pblk_line *line, struct pblk_recov_alloc p) pblk_recov_scan_oob() argument 477 pblk_recov_l2p_from_oob(struct pblk *pblk, struct pblk_line *line) pblk_recov_l2p_from_oob() argument 543 pblk_line_emeta_start(struct pblk *pblk, struct pblk_line *line) pblk_line_emeta_start() argument 567 pblk_recov_check_line_version(struct pblk *pblk, struct line_emeta *emeta) pblk_recov_check_line_version() argument 587 pblk_recov_wa_counters(struct pblk *pblk, struct line_emeta *emeta) pblk_recov_wa_counters() argument 610 pblk_line_was_written(struct pblk_line *line, struct pblk *pblk) pblk_line_was_written() argument 639 pblk_line_is_open(struct pblk *pblk, struct pblk_line *line) pblk_line_is_open() argument 651 pblk_recov_l2p(struct pblk *pblk) pblk_recov_l2p() argument 855 pblk_recov_pad(struct pblk *pblk) pblk_recov_pad() argument [all...] |
H A D | pblk-gc.c | 16 * pblk-gc.c - pblk's garbage collector 19 #include "pblk.h" 20 #include "pblk-trace.h" 31 static int pblk_gc_write(struct pblk *pblk) in pblk_gc_write() argument 33 struct pblk_gc *gc = &pblk->gc; in pblk_gc_write() 48 pblk_write_gc_to_cache(pblk, gc_rq); in pblk_gc_write() 62 void pblk_put_line_back(struct pblk *pblk, struc argument 90 struct pblk *pblk = gc_rq_ws->pblk; pblk_gc_line_ws() local 131 get_lba_list_from_emeta(struct pblk *pblk, struct pblk_line *line) get_lba_list_from_emeta() argument 180 struct pblk *pblk = line_ws->pblk; pblk_gc_line_prepare_ws() local 302 pblk_gc_line(struct pblk *pblk, struct pblk_line *line) pblk_gc_line() argument 328 pblk_gc_kick(struct pblk *pblk) pblk_gc_kick() argument 343 pblk_gc_read(struct pblk *pblk) pblk_gc_read() argument 371 pblk_gc_get_victim_line(struct pblk *pblk, struct list_head *group_list) pblk_gc_get_victim_line() argument 407 pblk_gc_free_full_lines(struct pblk *pblk) pblk_gc_free_full_lines() argument 444 pblk_gc_run(struct pblk *pblk) pblk_gc_run() argument 503 struct pblk *pblk = from_timer(pblk, t, gc.gc_timer); pblk_gc_timer() local 510 struct pblk *pblk = data; pblk_gc_ts() local 523 struct pblk *pblk = data; pblk_gc_writer_ts() local 537 struct pblk *pblk = data; pblk_gc_reader_ts() local 562 pblk_gc_start(struct pblk *pblk) pblk_gc_start() argument 568 pblk_gc_should_start(struct pblk *pblk) pblk_gc_should_start() argument 578 pblk_gc_should_stop(struct pblk *pblk) pblk_gc_should_stop() argument 586 pblk_gc_should_kick(struct pblk *pblk) pblk_gc_should_kick() argument 591 pblk_gc_sysfs_state_show(struct pblk *pblk, int *gc_enabled, int *gc_active) pblk_gc_sysfs_state_show() argument 602 pblk_gc_sysfs_force(struct pblk *pblk, int force) pblk_gc_sysfs_force() argument 623 pblk_gc_init(struct pblk *pblk) pblk_gc_init() argument 703 pblk_gc_exit(struct pblk *pblk, bool graceful) pblk_gc_exit() argument [all...] |
H A D | pblk-sysfs.c | 18 * pblk-sysfs.c - pblk's sysfs 22 #include "pblk.h" 24 static ssize_t pblk_sysfs_luns_show(struct pblk *pblk, char *page) in pblk_sysfs_luns_show() argument 26 struct nvm_tgt_dev *dev = pblk->dev; in pblk_sysfs_luns_show() 35 rlun = &pblk->luns[i]; in pblk_sysfs_luns_show() 41 "pblk: pos:%d, ch:%d, lun:%d - %d\n", in pblk_sysfs_luns_show() 51 static ssize_t pblk_sysfs_rate_limiter(struct pblk *pblk, cha argument 83 pblk_sysfs_gc_state_show(struct pblk *pblk, char *page) pblk_sysfs_gc_state_show() argument 92 pblk_sysfs_stats(struct pblk *pblk, char *page) pblk_sysfs_stats() argument 108 pblk_sysfs_write_buffer(struct pblk *pblk, char *page) pblk_sysfs_write_buffer() argument 113 pblk_sysfs_ppaf(struct pblk *pblk, char *page) pblk_sysfs_ppaf() argument 164 pblk_sysfs_lines(struct pblk *pblk, char *page) pblk_sysfs_lines() argument 309 pblk_sysfs_lines_info(struct pblk *pblk, char *page) pblk_sysfs_lines_info() argument 337 pblk_sysfs_get_sec_per_write(struct pblk *pblk, char *page) pblk_sysfs_get_sec_per_write() argument 368 pblk_sysfs_get_write_amp_mileage(struct pblk *pblk, char *page) pblk_sysfs_get_write_amp_mileage() argument 375 pblk_sysfs_get_write_amp_trip(struct pblk *pblk, char *page) pblk_sysfs_get_write_amp_trip() argument 393 pblk_sysfs_get_padding_dist(struct pblk *pblk, char *page) pblk_sysfs_get_padding_dist() argument 431 pblk_sysfs_stats_debug(struct pblk *pblk, char *page) pblk_sysfs_stats_debug() argument 451 pblk_sysfs_gc_force(struct pblk *pblk, const char *page, size_t len) pblk_sysfs_gc_force() argument 469 pblk_sysfs_set_sec_per_write(struct pblk *pblk, const char *page, size_t len) pblk_sysfs_set_sec_per_write() argument 499 pblk_sysfs_set_write_amp_trip(struct pblk *pblk, const char *page, size_t len) pblk_sysfs_set_write_amp_trip() argument 523 pblk_sysfs_set_padding_dist(struct pblk *pblk, const char *page, size_t len) pblk_sysfs_set_padding_dist() argument 644 struct pblk *pblk = container_of(kobj, struct pblk, kobj); pblk_sysfs_show() local 680 struct pblk *pblk = container_of(kobj, struct pblk, kobj); pblk_sysfs_store() local 705 struct pblk *pblk = tdisk->private_data; pblk_sysfs_init() local 723 struct pblk *pblk = tdisk->private_data; pblk_sysfs_exit() local [all...] |
H A D | pblk-read.c | 16 * pblk-read.c - pblk's read path 19 #include "pblk.h" 28 static int pblk_read_from_cache(struct pblk *pblk, struct bio *bio, in pblk_read_from_cache() argument 37 return pblk_rb_copy_to_bio(&pblk->rwb, bio, lba, ppa); in pblk_read_from_cache() 40 static int pblk_read_ppalist_rq(struct pblk *pblk, struct nvm_rq *rqd, in pblk_read_ppalist_rq() argument 48 nr_secs = pblk_lookup_l2p_seq(pblk, rqd->ppa_list, blba, rqd->nr_ppas, in pblk_read_ppalist_rq() 55 struct pblk_sec_meta *meta = pblk_get_meta(pblk, meta_lis in pblk_read_ppalist_rq() 109 pblk_read_check_seq(struct pblk *pblk, struct nvm_rq *rqd, sector_t blba) pblk_read_check_seq() argument 142 pblk_read_check_rand(struct pblk *pblk, struct nvm_rq *rqd, u64 *lba_list, int nr_lbas) pblk_read_check_rand() argument 187 __pblk_end_io_read(struct pblk *pblk, struct nvm_rq *rqd, bool put_line) __pblk_end_io_read() argument 216 struct pblk *pblk = rqd->private; pblk_end_io_read() local 224 pblk_read_rq(struct pblk *pblk, struct nvm_rq *rqd, struct bio *bio, sector_t lba, bool *from_cache) pblk_read_rq() argument 263 pblk_submit_read(struct pblk *pblk, struct bio *bio) pblk_submit_read() argument 349 read_ppalist_rq_gc(struct pblk *pblk, struct nvm_rq *rqd, struct pblk_line *line, u64 *lba_list, u64 *paddr_list_gc, unsigned int nr_secs) read_ppalist_rq_gc() argument 380 read_rq_gc(struct pblk *pblk, struct nvm_rq *rqd, struct pblk_line *line, sector_t lba, u64 paddr_gc) read_rq_gc() argument 415 pblk_submit_read_gc(struct pblk *pblk, struct pblk_gc_rq *gc_rq) pblk_submit_read_gc() argument [all...] |
H A D | pblk-map.c | 16 * pblk-map.c - pblk's lba-ppa mapping strategy 20 #include "pblk.h" 22 static int pblk_map_page_data(struct pblk *pblk, unsigned int sentry, in pblk_map_page_data() argument 28 struct pblk_line *line = pblk_line_get_data(pblk); in pblk_map_page_data() 33 int nr_secs = pblk->min_write_pgs; in pblk_map_page_data() 45 line = pblk_line_replace_data(pblk); in pblk_map_page_data() 46 pblk_line_close_meta(pblk, prev_line); in pblk_map_page_data() 49 pblk_pipeline_stop(pblk); in pblk_map_page_data() 96 pblk_map_rq(struct pblk *pblk, struct nvm_rq *rqd, unsigned int sentry, unsigned long *lun_bitmap, unsigned int valid_secs, unsigned int off) pblk_map_rq() argument 122 pblk_map_erase_rq(struct pblk *pblk, struct nvm_rq *rqd, unsigned int sentry, unsigned long *lun_bitmap, unsigned int valid_secs, struct ppa_addr *erase_ppa) pblk_map_erase_rq() argument [all...] |
H A D | pblk-cache.c | 16 * pblk-cache.c - pblk's write cache 19 #include "pblk.h" 21 void pblk_write_to_cache(struct pblk *pblk, struct bio *bio, in pblk_write_to_cache() argument 38 ret = pblk_rb_may_write_user(&pblk->rwb, bio, nr_entries, &bpos); in pblk_write_to_cache() 44 pblk_pipeline_stop(pblk); in pblk_write_to_cache() 53 pblk_write_kick(pblk); in pblk_write_to_cache() 64 pos = pblk_rb_wrap_pos(&pblk->rwb, bpos + i); in pblk_write_to_cache() 65 pblk_rb_write_entry_user(&pblk in pblk_write_to_cache() 91 pblk_write_gc_to_cache(struct pblk *pblk, struct pblk_gc_rq *gc_rq) pblk_write_gc_to_cache() argument [all...] |
H A D | Makefile | 7 obj-$(CONFIG_NVM_PBLK) += pblk.o 8 pblk-y := pblk-init.o pblk-core.o pblk-rb.o \ 9 pblk-write.o pblk-cache.o pblk-read.o \ 10 pblk-gc.o pblk [all...] |
H A D | pblk-rb.c | 17 * pblk-rb.c - pblk's write buffer 22 #include "pblk.h" 75 struct pblk *pblk = container_of(rb, struct pblk, rwb); in pblk_rb_init() local 165 pblk_rl_init(&pblk->rl, rb->nr_entries, threshold); in pblk_rb_init() 176 "pblk: overwriting unsubmitted data\n"); in clean_wctx() 239 struct pblk *pblk in __pblk_rb_update_l2p() local 340 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_write_entry_user() local 364 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_write_entry_gc() local 454 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_flush() local 476 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_may_write_flush() local 497 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_may_write_user() local 524 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_may_write_gc() local 554 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_read_to_bio() local 647 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_copy_to_bio() local 811 struct pblk *pblk = container_of(rb, struct pblk, rwb); pblk_rb_sysfs() local [all...] |
H A D | pblk-rl.c | 16 * pblk-rl.c - pblk's rate limiter for user I/O 20 #include "pblk.h" 111 struct pblk *pblk = container_of(rl, struct pblk, rl); in __pblk_rl_update_rates() local 149 pblk_gc_should_start(pblk); in __pblk_rl_update_rates() 151 pblk_gc_should_stop(pblk); in __pblk_rl_update_rates() 212 struct pblk *pblk in pblk_rl_init() local [all...] |
H A D | pblk-trace.h | 3 #define TRACE_SYSTEM pblk 144 #define TRACE_INCLUDE_FILE pblk-trace
|
/kernel/linux/linux-5.10/fs/crypto/ |
H A D | bio.c | 45 pgoff_t lblk, sector_t pblk, in fscrypt_zeroout_range_inline_crypt() 65 pblk << (blockbits - SECTOR_SHIFT); in fscrypt_zeroout_range_inline_crypt() 76 pblk += blocks_this_page; in fscrypt_zeroout_range_inline_crypt() 95 * @pblk: the first filesystem physical block to zero out 109 sector_t pblk, unsigned int len) in fscrypt_zeroout_range() 126 return fscrypt_zeroout_range_inline_crypt(inode, lblk, pblk, in fscrypt_zeroout_range() 155 bio->bi_iter.bi_sector = pblk << (blockbits - 9); in fscrypt_zeroout_range() 167 pblk++; in fscrypt_zeroout_range() 44 fscrypt_zeroout_range_inline_crypt(const struct inode *inode, pgoff_t lblk, sector_t pblk, unsigned int len) fscrypt_zeroout_range_inline_crypt() argument 108 fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk, sector_t pblk, unsigned int len) fscrypt_zeroout_range() argument
|
/kernel/linux/linux-6.6/fs/crypto/ |
H A D | bio.c | 49 pgoff_t lblk, sector_t pblk, in fscrypt_zeroout_range_inline_crypt() 69 pblk << (blockbits - SECTOR_SHIFT); in fscrypt_zeroout_range_inline_crypt() 79 pblk += blocks_this_page; in fscrypt_zeroout_range_inline_crypt() 98 * @pblk: the first filesystem physical block to zero out 112 sector_t pblk, unsigned int len) in fscrypt_zeroout_range() 129 return fscrypt_zeroout_range_inline_crypt(inode, lblk, pblk, in fscrypt_zeroout_range() 157 bio->bi_iter.bi_sector = pblk << (blockbits - 9); in fscrypt_zeroout_range() 168 pblk++; in fscrypt_zeroout_range() 48 fscrypt_zeroout_range_inline_crypt(const struct inode *inode, pgoff_t lblk, sector_t pblk, unsigned int len) fscrypt_zeroout_range_inline_crypt() argument 111 fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk, sector_t pblk, unsigned int len) fscrypt_zeroout_range() argument
|
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | ext4.h | 1727 __field( ext4_fsblk_t, pblk ) 1738 __entry->pblk = map->m_pblk; 1745 TP_printk("dev %d,%d ino %lu flags %s lblk %u pblk %llu len %u " 1749 show_map_flags(__entry->flags), __entry->lblk, __entry->pblk, 1768 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk), 1770 TP_ARGS(inode, lblk, pblk), 1775 __field( ext4_fsblk_t, pblk ) 1782 __entry->pblk = pblk; 1786 TP_printk("dev %d,%d ino %lu lblk %u pblk [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | ext4.h | 1671 __field( ext4_fsblk_t, pblk ) 1682 __entry->pblk = map->m_pblk; 1689 TP_printk("dev %d,%d ino %lu flags %s lblk %u pblk %llu len %u " 1693 show_map_flags(__entry->flags), __entry->lblk, __entry->pblk, 1712 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk), 1714 TP_ARGS(inode, lblk, pblk), 1719 __field( ext4_fsblk_t, pblk ) 1726 __entry->pblk = pblk; 1730 TP_printk("dev %d,%d ino %lu lblk %u pblk [all...] |
/kernel/linux/linux-5.10/fs/ext4/ |
H A D | extents_status.h | 131 ext4_lblk_t len, ext4_fsblk_t pblk, 134 ext4_lblk_t len, ext4_fsblk_t pblk,
|
H A D | extents.c | 369 ext4_lblk_t lblk, ext4_fsblk_t *pblk, in ext4_valid_extent_entries() 399 *pblk = ext4_ext_pblock(ext); in ext4_valid_extent_entries() 423 *pblk = ext4_idx_pblock(ext_idx); in ext4_valid_extent_entries() 436 int depth, ext4_fsblk_t pblk, ext4_lblk_t lblk) in __ext4_ext_check() 466 if (!ext4_valid_extent_entries(inode, eh, lblk, &pblk, depth)) { in __ext4_ext_check() 485 "pblk %llu bad header/extent: %s - magic %x, " in __ext4_ext_check() 487 (unsigned long long) pblk, error_msg, in __ext4_ext_check() 495 #define ext4_ext_check(inode, eh, depth, pblk) \ 496 __ext4_ext_check(__func__, __LINE__, (inode), (eh), (depth), (pblk), 0) 535 ext4_fsblk_t pblk; in __read_extent_tree_block() local 367 ext4_valid_extent_entries(struct inode *inode, struct ext4_extent_header *eh, ext4_lblk_t lblk, ext4_fsblk_t *pblk, int depth) ext4_valid_extent_entries() argument 434 __ext4_ext_check(const char *function, unsigned int line, struct inode *inode, struct ext4_extent_header *eh, int depth, ext4_fsblk_t pblk, ext4_lblk_t lblk) __ext4_ext_check() argument 2465 ext4_fsblk_t last_pblk, pblk; ext4_remove_blocks() local 2609 ext4_fsblk_t pblk; ext4_ext_rm_leaf() local 2854 ext4_fsblk_t pblk; ext4_ext_remove_space() local 4098 ext4_fsblk_t newblock = 0, pblk; ext4_ext_map_blocks() local 5890 ext4_ext_replay_update_ex(struct inode *inode, ext4_lblk_t start, int len, int unwritten, ext4_fsblk_t pblk) ext4_ext_replay_update_ex() argument [all...] |
/kernel/linux/linux-6.6/fs/ext4/ |
H A D | extents_status.h | 131 ext4_lblk_t len, ext4_fsblk_t pblk, 134 ext4_lblk_t len, ext4_fsblk_t pblk,
|
H A D | extents.c | 389 ext4_lblk_t lblk, ext4_fsblk_t *pblk, in ext4_valid_extent_entries() 419 *pblk = ext4_ext_pblock(ext); in ext4_valid_extent_entries() 443 *pblk = ext4_idx_pblock(ext_idx); in ext4_valid_extent_entries() 456 int depth, ext4_fsblk_t pblk, ext4_lblk_t lblk) in __ext4_ext_check() 486 if (!ext4_valid_extent_entries(inode, eh, lblk, &pblk, depth)) { in __ext4_ext_check() 505 "pblk %llu bad header/extent: %s - magic %x, " in __ext4_ext_check() 507 (unsigned long long) pblk, error_msg, in __ext4_ext_check() 515 #define ext4_ext_check(inode, eh, depth, pblk) \ 516 __ext4_ext_check(__func__, __LINE__, (inode), (eh), (depth), (pblk), 0) 555 ext4_fsblk_t pblk; in __read_extent_tree_block() local 387 ext4_valid_extent_entries(struct inode *inode, struct ext4_extent_header *eh, ext4_lblk_t lblk, ext4_fsblk_t *pblk, int depth) ext4_valid_extent_entries() argument 454 __ext4_ext_check(const char *function, unsigned int line, struct inode *inode, struct ext4_extent_header *eh, int depth, ext4_fsblk_t pblk, ext4_lblk_t lblk) __ext4_ext_check() argument 2437 ext4_fsblk_t last_pblk, pblk; ext4_remove_blocks() local 2581 ext4_fsblk_t pblk; ext4_ext_rm_leaf() local 2825 ext4_fsblk_t pblk; ext4_ext_remove_space() local 4129 ext4_fsblk_t newblock = 0, pblk; ext4_ext_map_blocks() local 5875 ext4_ext_replay_update_ex(struct inode *inode, ext4_lblk_t start, int len, int unwritten, ext4_fsblk_t pblk) ext4_ext_replay_update_ex() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/wireless/quantenna/qtnfmac/pcie/ |
H A D | pearl_pcie.c | 908 int blk, const u8 *pblk, const u8 *fw) in qtnf_ep_fw_send() 940 if (pblk >= (fw + size - len)) { in qtnf_ep_fw_send() 941 len = fw + size - pblk; in qtnf_ep_fw_send() 946 memcpy(pdata, pblk, len); in qtnf_ep_fw_send() 959 const u8 *pblk = fw; in qtnf_ep_fw_load() local 972 len = qtnf_ep_fw_send(ps->base.pdev, fw_size, blk, pblk, fw); in qtnf_ep_fw_load() 996 pblk -= ((last_round - 1) * in qtnf_ep_fw_load() 1000 pblk -= QTN_PCIE_FW_DLMASK * blk_size; in qtnf_ep_fw_load() 1013 pblk += len; in qtnf_ep_fw_load() 907 qtnf_ep_fw_send(struct pci_dev *pdev, uint32_t size, int blk, const u8 *pblk, const u8 *fw) qtnf_ep_fw_send() argument
|
/kernel/linux/linux-6.6/drivers/net/wireless/quantenna/qtnfmac/pcie/ |
H A D | pearl_pcie.c | 908 int blk, const u8 *pblk, const u8 *fw) in qtnf_ep_fw_send() 940 if (pblk >= (fw + size - len)) { in qtnf_ep_fw_send() 941 len = fw + size - pblk; in qtnf_ep_fw_send() 946 memcpy(pdata, pblk, len); in qtnf_ep_fw_send() 959 const u8 *pblk = fw; in qtnf_ep_fw_load() local 972 len = qtnf_ep_fw_send(ps->base.pdev, fw_size, blk, pblk, fw); in qtnf_ep_fw_load() 996 pblk -= ((last_round - 1) * in qtnf_ep_fw_load() 1000 pblk -= QTN_PCIE_FW_DLMASK * blk_size; in qtnf_ep_fw_load() 1013 pblk += len; in qtnf_ep_fw_load() 907 qtnf_ep_fw_send(struct pci_dev *pdev, uint32_t size, int blk, const u8 *pblk, const u8 *fw) qtnf_ep_fw_send() argument
|
/kernel/linux/linux-5.10/fs/erofs/ |
H A D | zmap.c | 114 erofs_blk_t pblk; member 186 m->pblk = le32_to_cpu(di->di_u.blkaddr); in legacy_load_cluster_from_disk() 254 /* figout out blkaddr (pblk) for HEAD lclusters */ in unpack_compacted_index() 267 m->pblk = le32_to_cpu(*(__le32 *)in) + nblk; in unpack_compacted_index() 461 map->m_pa = blknr_to_addr(m.pblk); in z_erofs_map_blocks_iter()
|