SPDK Block Device及其编程的简单介绍(二):初始化

本文深入探讨SPDK bdev layer的初始化,包括bdev subsystem的初始化过程、异步初始化的bdev module以及存在依赖关系的module如何处理。通过理解这些机制,有助于更高效地集成和使用SPDK bdev模块。
摘要由CSDN通过智能技术生成

常通风、勤洗手、戴口罩、少聚集。

作者简介:

刘岚峰Intel实习生

专注于开源存储SPDK

存储软件性能优化的工作

推荐阅读:

SPDK block device 及其编程的简单介绍(一)

SPDK 应用编程框架

SPDK发布v20.01 (第一个长期维护版本)

本文的分析基于SPDK v20.01 LTS

https://github.com/spdk/spdk/tree/v20.01

在前文中(参考上面的推荐阅读),我们提到为了便于用户使用用户态的block device, SPDK中开发了用户态、无锁、轮询的block device (bdev) layer。

Block device layer 主要由SPDK中spdk/lib/bdev目录中的代码实现,而为了实现一些必要的块设备及其相应的功能,spdk/module/bdev/中已经实现的一些常见的bdev module。

$ ll lib/bdev
bdev.c bdev_internal.h bdev_rpc.c bdev_zone.c
Makefile part.c scsi_nvme.c vtune.c


$ ll module/bdev/
aio/ compress/ crypto/ delay/ error/ ftl/ gpt/
iscsi/ lvol/ Makefile malloc/ null/ nvme/ ocf/
passthru/ pmem/ raid/ rbd/ rpc/ split/ uring/
virtio/ zone_block/

SPDK的block device layer为用户提供了很多实用的功能,同时也抽象出了一套适合所有块设备的设计:

  • 在内存已经用完或者(设备的I/O)队列已满的情况下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值