Home
last modified time | relevance | path

Searched refs:page (Results 1 – 20 of 20) sorted by relevance

/spdk/lib/ftl/
H A Dftl_l2p_cache.c32 L2P_CACHE_PAGE_INIT, /* Page in memory not initialized from disk page */
41 uint64_t updates; /* Number of times an L2P entry was updated in the page since it was last persisted */
64 /* A L2P page contains 1024 4B entries (or 512 8B ones for big drives).
122 TAILQ_HEAD(, ftl_l2p_page_set) deferred_page_set_list; /* for deferred page sets */
129 /* Currently processed page */
131 /* Context for page pinning */
150 typedef void (*ftl_l2p_cache_sync_cb)(struct spdk_ftl_dev *dev, int status, void *page,
160 ftl_l2p_page_queue_wait_ctx(struct ftl_l2p_page *page, in ftl_l2p_page_queue_wait_ctx() argument
163 TAILQ_INSERT_TAIL(&page->ppe_list, ppe, list_entry); in ftl_l2p_page_queue_wait_ctx()
185 ftl_l2p_cache_lru_remove_page(struct ftl_l2p_cache *cache, struct ftl_l2p_page *page) in ftl_l2p_cache_lru_remove_page() argument
195 ftl_l2p_cache_lru_add_page(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_lru_add_page() argument
206 ftl_l2p_cache_lru_promote_page(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_lru_promote_page() argument
217 ftl_l2p_cache_page_insert(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_insert() argument
227 ftl_l2p_cache_page_remove(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_remove() argument
246 ftl_l2p_cache_get_hotter_page(struct ftl_l2p_page * page) ftl_l2p_cache_get_hotter_page() argument
253 ftl_l2p_cache_page_get_bdev_offset(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_get_bdev_offset() argument
273 struct ftl_l2p_page *page = ftl_mempool_get(cache->l2_ctx_pool); ftl_l2p_cache_page_alloc() local
294 ftl_l2p_cache_page_can_remove(struct ftl_l2p_page * page) ftl_l2p_cache_page_can_remove() argument
303 ftl_l2p_cache_get_addr(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,uint64_t lba) ftl_l2p_cache_get_addr() argument
310 ftl_l2p_cache_set_addr(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,uint64_t lba,ftl_addr addr) ftl_l2p_cache_set_addr() argument
316 ftl_l2p_page_set_invalid(struct spdk_ftl_dev * dev,struct ftl_l2p_page * page) ftl_l2p_page_set_invalid() argument
337 ftl_l2p_cache_page_pin(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_pin() argument
347 ftl_l2p_cache_page_unpin(struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) ftl_l2p_cache_page_unpin() argument
366 ftl_l2p_cache_page_can_evict(struct ftl_l2p_page * page) ftl_l2p_cache_page_can_evict() argument
581 process_page_in(struct ftl_l2p_page * page,spdk_bdev_io_completion_cb cb) process_page_in() argument
601 struct ftl_l2p_page *page = arg; process_persist_page_out_cb() local
628 process_page_out(struct ftl_l2p_page * page,spdk_bdev_io_completion_cb cb) process_page_out() argument
665 struct ftl_l2p_page *page = _page; process_page_out_retry() local
675 struct ftl_l2p_page *page = (struct ftl_l2p_page *)ctx_page; process_trim_page_out_cb() local
700 struct ftl_l2p_page *page = (struct ftl_l2p_page *)ctx_page; process_trim_page_in_cb() local
726 struct ftl_l2p_page *page; process_trim() local
796 struct ftl_l2p_page *page; l2p_shm_restore_clean() local
835 struct ftl_l2p_page *page; l2p_shm_restore_dirty() local
899 struct ftl_l2p_page *page = get_l2p_page_by_df_id(cache, ctx->idx); process_persist() local
994 ftl_l2p_cache_page_is_pinnable(struct ftl_l2p_page * page) ftl_l2p_cache_page_is_pinnable() argument
1029 struct ftl_l2p_page *page; ftl_l2p_cache_pin() local
1072 struct ftl_l2p_page *page; ftl_l2p_cache_unpin() local
1093 struct ftl_l2p_page *page = get_page(cache, lba); ftl_l2p_cache_get() local
1116 struct ftl_l2p_page *page = get_page(cache, lba); ftl_l2p_cache_set() local
1135 struct ftl_l2p_page *page = ftl_l2p_cache_page_alloc(cache, page_no); page_allocate() local
1193 page_in_io_complete(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,bool success) page_in_io_complete() argument
1238 struct ftl_l2p_page *page = cb_arg; page_in_io_cb() local
1248 page_in_io(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) page_in_io() argument
1283 struct ftl_l2p_page *page = arg; page_in_io_retry() local
1295 struct ftl_l2p_page *page; page_in() local
1371 struct ftl_l2p_page *page = ftl_l2p_cache_get_coldest_page(cache); eviction_get_page() local
1396 page_out_io_complete(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page,bool success) page_out_io_complete() argument
1421 struct ftl_l2p_page *page = cb_arg; page_out_io_cb() local
1432 page_out_io(struct spdk_ftl_dev * dev,struct ftl_l2p_cache * cache,struct ftl_l2p_page * page) page_out_io() argument
1469 struct ftl_l2p_page *page = arg; page_out_io_retry() local
1480 struct ftl_l2p_page *page; ftl_l2p_cache_process_eviction() local
[all...]
H A Dftl_p2l.c191 struct ftl_p2l_ckpt_page_no_vss *page = map_page + cur_page; in ftl_p2l_ckpt_issue() local
199 page->map[j].lba = iter->lba; in ftl_p2l_ckpt_issue()
200 page->map[j].seq_id = iter->seq_id; in ftl_p2l_ckpt_issue()
205 page->metadata.p2l_ckpt.seq_id = band->md->seq; in ftl_p2l_ckpt_issue()
206 page->metadata.p2l_ckpt.count = j; in ftl_p2l_ckpt_issue()
211 page->metadata.p2l_ckpt.p2l_checksum = spdk_crc32c_update(page->map, in ftl_p2l_ckpt_issue()
322 struct ftl_p2l_ckpt_page_no_vss *page = map_page + cur_page; in ftl_mngt_persist_band_p2l() local
326 memcpy(page->map, band_entries, lbas_to_copy * sizeof(struct ftl_p2l_map_entry)); in ftl_mngt_persist_band_p2l()
328 page->metadata.p2l_ckpt.seq_id = band->md->seq; in ftl_mngt_persist_band_p2l()
329 page->metadata.p2l_ckpt.p2l_checksum = spdk_crc32c_update(page->map, in ftl_mngt_persist_band_p2l()
[all …]
H A Dftl_l2p.c142 uint64_t *page = ftl_md_get_buffer(md); in get_trim_seq_id() local
145 return page[page_no]; in get_trim_seq_id()
H A Dftl_core.c646 uint64_t *page = ftl_md_get_buffer(md); in ftl_set_trim_map() local
656 page[i] = seq_id; in ftl_set_trim_map()
/spdk/doc/
H A Dmemory.md18 channels. For instance, page 0 may be located on channel 0, page 1 on channel
19 1, page 2 on channel 2, etc. This is so that writing to memory sequentially
21 done at a much more granular level than a full page.
25 often supports multiple different page sizes. On recent x86_64 systems, 4KiB,
41 * The first device page can be a partial page starting at any 4-byte aligned
42 address. It may extend up to the end of the current physical page, but not
44 * If there is more than one device page, the first device page must end on a
45 physical 4KiB page boundary.
46 * The last device page begins on a physical 4KiB page boundary, but is not
47 required to end on a physical 4KiB page boundary.
[all …]
H A Dblob.md44 * **Page**: A page is defined to be a fixed number of logical blocks defined at Blobstore creation …
45 …blocks that compose a page are always contiguous. Pages are also numbered from the beginning of th…
46 …that the first page worth of blocks is page 0, the second page is page 1, etc. A page is typically…
48 at least the page size.
75 operations of at least one page size. Atomicity here can refer to multiple operations:
77 * **Data Writes**: For the case of data writes, the unit of atomicity is one page. Therefore if a w…
78 …greater than one page is underway and the system suffers a power failure, the data on media will b…
79 …size granularity (if a single page were in the middle of being updated when power was lost, the da…
150 …efault, this value is 1MB. The cluster size is required to be a multiple of page size and should be
171 ### Sub-page Sized Operations
[all …]
H A Dspdk_top.md38 * Previous page/Next page - scrolls up/down to the next set of rows displayed. Indicator in the bot…
H A Dvmd.md116 be utilized. For instructions on how to use it, consult the manual page of this utility.
H A Dapplications.md91 Instead of creating one hugetlbfs file per page, this option makes SPDK create
110 the highest page size. This option accepts a number of bytes with a possible
H A Dgetting_started.md96 On Linux machines HUGEMEM will be rounded up to system-default huge page
H A Dnvme_spec.md30 page over at [NVM Express](https://nvmexpress.org).
87 address of the buffer, so SPDK has to go do a page table look up to find the
H A Dblobfs.md48 The following will allocate 5GB of huge page memory (in addition to binding the NVMe devices to uio…
H A Dnvme_multipath.md109 If an I/O is returned with an ANA error or an ANA change notice event is received, the ANA log page
110 may be changed. In this case, the NVMe bdev module reads the ANA log page to check the ANA state
H A Dstylesheet.css678 /* these are for tree view inside a (index) page */
1377 h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
1379 .memitem { page-break-inside: avoid; }
H A Dftl.md22 addresses in memory (the amount is configurable), and page them in and out of the cache device
/spdk/app/spdk_top/
H A DREADME57 - [PgUp] Previous page - go to previous page
58 - [PgDown] Next page - go to next page
72 Page indicator show current data page. Error status can be displayed
/spdk/lib/scsi/
H A Dscsi_bdev.c739 mode_sense_page_init(uint8_t *buf, int len, int page, int subpage) in mode_sense_page_init() argument
747 buf[0] = page | 0x40; /* PAGE + SPF=1 */ in mode_sense_page_init()
751 buf[0] = page; in mode_sense_page_init()
758 uint8_t *cdb, int pc, int page, int subpage, in bdev_scsi_mode_sense_page() argument
783 switch (page) { in bdev_scsi_mode_sense_page()
795 mode_sense_page_init(cp, plen, page, subpage); in bdev_scsi_mode_sense_page()
806 mode_sense_page_init(cp, plen, page, subpage); in bdev_scsi_mode_sense_page()
831 mode_sense_page_init(cp, plen, page, subpage); in bdev_scsi_mode_sense_page()
842 mode_sense_page_init(cp, plen, page, subpage); in bdev_scsi_mode_sense_page()
866 mode_sense_page_init(cp, plen, page, subpage); in bdev_scsi_mode_sense_page()
[all …]
/spdk/test/blobstore/
H A Dbtest.out.match42 md page size: $(N)
79 md page size: $(N)
/spdk/lib/ftl/mngt/
H A Dftl_mngt_recovery.c791 uint64_t *page; in ftl_mngt_recover_trim_log_cb() local
812 page = ftl_md_get_buffer(dev->layout.md[FTL_LAYOUT_REGION_TYPE_TRIM_MD]); in ftl_mngt_recover_trim_log_cb()
821 if (page[i] > seq_id) { in ftl_mngt_recover_trim_log_cb()
826 page[i] = seq_id; in ftl_mngt_recover_trim_log_cb()
/spdk/test/unit/lib/blob/blob.c/
H A Dblob_ut.c1608 * Choose a page offset just before the cluster boundary. The first 6 pages of payload in blob_rw_verify_iov()
1674 * Choose a page offset just before the cluster boundary. The first 6 pages of payload in blob_rw_verify_iov_nomem()
1839 /* Fill whole blob except last page */ in blob_operation_split_rw()
1845 /* Write last page with a pattern */ in blob_operation_split_rw()
1859 /* Fill whole blob except first page */ in blob_operation_split_rw()
1865 /* Write first page with a pattern */ in blob_operation_split_rw()
2326 /* Create large extent to force more than 1 page of metadata. */ in blob_parse_md()
3414 * Set cluster size to blobstore page size, in bs_usable_clusters()
3415 * to work it is required to be at least twice the blobstore page size. in bs_usable_clusters()
3428 * Set cluster size to lower than page siz in bs_usable_clusters()
3640 struct spdk_blob_md_page *page; blob_crc() local
3722 struct spdk_blob_md_page *page; blob_dirty_shutdown() local
4359 struct spdk_blob_md_page page = {}; blob_insert_cluster_msg_test() local
[all...]