首页 > 编程知识 正文

dk幼儿百科全书,魔兽世界什么版本出dk的

时间:2023-05-04 08:27:48 阅读:22101 作者:1604

SPDK v21.07

最近,SPDK团队正式发布了21.07版本。 一起看看有什么新功能吧。 (温馨提示:英语函数名称较长,为了获得更好的阅读体验,建议用手机横屏阅读() ) ) )。

新功能

33558www.Sina.com/idxd库添加了对内核DSA驱动程序的支持。

添加3358www.Sina.com/init库,实现SPDK子系统初始化。

添加了对在3358 www.Sina.com/spdk APP应用程序中执行bpf跟踪的支持。 详情请参阅https://spdk.io/doc/usdt.html。

增加了一个可以生成-内核DSA:幂律概率分布的zipf随机数发生器。 将bdevperf与nvme perf工具结合使用,可以在生成覆盖所有LBA的块的同时选择更频繁的小LBA地址。

请访问https://github.com/spdk/spdk/releases/tag/v 21.07了解此次发布的完整原文。

http://www.Sina.com/http://www.Sina.com /

此版本包含711个提交,35,000个代码行更改,由56个作者共同创建。

在此特别感谢首次提交代码的以下贡献者:

Curt Bruns

Jakub Wyka

约翰莱昂

约翰蒂

Matt Dumm

Matthew Burbridge

Rajarshi Chowdhury

Scott Peterson

Swapnil Ingle

Tyler Sun

武孟金

Yuri Kirichok

http://www.Sina.com/http://www.Sina.com /

-Init 库:

-用户态DTrace:

添加了APIs pdk _ Accel _ submit _ copy _ CRC32c,并在复制数据时运行crc32 c。

添加APIs pdk _ Accel _ batch _ prep _ copy _ CRC32c并批处理crc32 c和复印命令。

添加了APIs pdk _ Accel _ submit _ copy _ CRC32cv,并提交了链式crc32 c和复制命令。

- zipf实用程序:

将spdk _ bdev _ read _ blocks _ with _ MD arg偏移定义从int64_t更改为uint64_t。

使用红黑树统一组织bdev的名称和别名,实现更快的搜索。

删除了ZCOPY模拟。 可以检查bdev模块是否支持ZCOPY,如果不支持,可以运行现有的READ/WRITE命令。

已将iov添加到spdk_bdev_zcopy_start。

特别感谢

将DPDK子模块更新为DPDK 21.05。

从spdk_idxd_probe函数中删除probe_cb参数。 删除spdk_idxd_probe_cb函数指针的定义。 必须在idxd_user.c上运行。

添加了APIs pdk _ idxd _ submit _ copy _ CRC32c,并在复制数据的同时运行crc32 c。

添加了APIs pdk _ idxd _ batch _ prep _ copy _ CRC32c,以创建在复制数据的同时运行crc32 c的批处理。

我们已经支持accel_engine库(module/accel/idxd/accel_engine )下的用户状态idxd驱动程序。 这次,我们将内核状态的idxd驱动程序添加到了accel_engine库中。 通过此方法,可以通过SPDK idx库(lib/IDXD )的内核DSA驱动程序实现使用idxd设备的包装库功能。 然后,用户可以使用RPC通过用户状态驱动程序或内核状态驱动程序使用DSA设备进行适当的配置。

SPDK开源社区衷心感谢

添加了新的init库,可以初始化APP应用程序框架内部的SPDK子系统。 此功能是公开的,可以运行不使用spdk APP应用程序框架的APP应用程序。

>

iscsi

在RPC iscsi_set_options添加了新参数:pdu_pool_size, immediate_data_pool_size, 和data_out_pool_size,以便在不同可用的内存情况下运行iSCSI target。

json

添加了API spdk_json_write_named_uint128和spdk_json_write_uint128,执行uint128相关数据。

net

删除了弃用的net库。

添加了对ZCOPY的支持。如果bdev模块支持ZCOPY且已启用ZCOPY,则ZCOPY会先于READ和WRITE被执行。

nvme

spdk_nvme_map_prps和spdk_nvme_map_cmd已移至nvmf/vfio-user,充当内部API,因为vfio-user是上述两个API的唯一用户。

添加了spdk_nvme_ns_cmd_copy新功能,为命名空间提交简单的拷贝命令。

根据NVMe 1.4 spec的定义更新了spdk_nvme_generic_command_status_code结构,包括更新的状态代码。

目前spdk_nvme_ctrlr_get_default_ctrlr_opts将use_cmb_sqs设置为false。这表明,如果控制器有CMB,并在CMB支持SQ,则SPDK默认不会将CMB用于SQ,即用户必须在acttch控制器操作之前将spdk_nvme_ctrlr_opts 结构中的use_cmb_sqs设置为true。

添加了spdk_nvme_detach_poll新功能,简化了常见用例,可在所有分离完全前继续轮询。

为spdk_nvme_ctrlr_register_timeout_callback添加了新参数timeout_admin_us,因此调用方可以给管理员命令或io命令指定不同的超时。

更新了现有的spdk_nvme_detach_async功能,以便在活动上下文轮询时添加一到多个分离。

重命名spdk_nvme_ctrlr_data结构下cmic成员的其一变量,将multi_host更改为multi_ctrlr。如果将该变量设置为1,则表明NVM子系统可能有两个以上的控制器。但multi_host 也曾指示过特殊用况,如NVM子系统被多个主机占用。

对spdk_nvme_ctrlr_opts结构添加了新选项disable_read_ana_log_page,禁用hldkfd log页面读取。若结果为true,则上层会读取hldkfd log页面。默认设置为false。

添加了新的API, spdk_nvme_ctrlr_reset_async 和 spdk_nvme_ctrlr_reset_poll_async,以异步重置控制器。

添加了新的RPC bdev_nvme_reset_controller,以重置NVMe控制器。

添加了spdk_nvme_ns_get_nguid 功能,以获取给定命名空间的NSUID。

加了spdk_nvme_ctrlr_is_fabrics功能,以指示ctrlr句柄是否和fabrics控制器关联。

nvmf

添加了min_cntlid和max_cntlid to nvmf_create_subsystem,限制控制器ID范围。

添加了spdk_nvmf_subsystem_get_min_cntlid和spdk_nvmf_subsystem_get_max_cntlid,以请求参数。

删除了spdk_nvmf_request_get_buffers_multi API。

加了nvmf_set_crdt RPC,设置命令重试延时。

扩展了spdk_nvmf_poll_group_stat,包含目前qpair count统计数据。

删除了以下几项弃用的API:

spdk_nvmf_poll_group_get_stat (function in nvmf.h),

spdk_nvmf_transport_poll_group_get_stat (function in nvmf.h),

spdk_nvmf_transport_poll_group_free_stat(function in nvmf.h),

spdk_nvmf_rdma_device_stat (struct in nvmf.h),

spdk_nvmf_transport_poll_group_stat (struct in nvmf.h),

poll_group_get_stat (transport op in nvmf_transport.h),

poll_group_free_stat (transport op in nvmf_transport.h).

rpc

添加了新的RPC bdev_rbd_register_cluster 和 bdev_rbd_unregister_cluster,允许创建并删除rados对象集群,用户即可选择集群,创建相关的rbd设备。

修改了bdev_rbd_create参数,允许使用cluster-name可选参数,在已注册Rados Cluster Object基础上创建rbd bdev。

添加了新的RPC bdev_rbd_get_clusters_info,允许获取已注册Rados Cluster 名称信息。

对bdev_nvme_set_options RPC添加了可选参数timeout_admin_us。

在scripts/rpc.py提供的 bdev_raid_create方法中,将参数stripe-size_kb修改为stripe-size-kb,以保持一致性。

在RPC idxd_scan_accel_engine添加了新的可选参数config_kernel_mode,以启用内核态IDXD驱动程序。

删除了RPC sock_impl_set_options的弃用参数enable-zerocopy-send,改用enable-zerocopy-send-server或enable-zerocopy-send-client。

删除了RPC sock_impl_set_options的弃用参数disable-zerocopy-send,改用disable-zerocopy-send-server或disable-zerocopy-send-client。

rpm

删除了已弃用的pkg/spdk.spec,请改用rpmbuild/spdk.spec。

查看具体信息请访问RPM文档(https://spdk.io/doc/rpm.html)。

thread

针对timer poller,使用红黑树来进行操作,从而提供更快的插入和删除操作,在io_devices实现更快查找。

从公共头删除了spdk_io_channel结构,将其移至thread_internal.h。

trace

添加了spdk_trace_register_description_ext功能,注册可变数目的跟踪点参数。

添加了链接多个跟踪条目的功能,扩大参数缓冲区的规模。

util

通过使用同个BSD许可协议下FreeBSD操作系统提供的宏,添加了红黑树宏指令。

添加了新的宏SPDK_SIZEOF_MEMBER,用于获取结构体成员的大小。

添加了spdk_crc32c_iov_update功能,支持iovs的crc32c计算。添加可产生幂律概率分布的zipf随机数生成器。应用于块设备的性能测试时,生成器会在全范围LBA进行选择,但会频繁选择小的LBA地址。

转载须知

DPDK与SPDK开源社区

公众号文章转载声明

推荐阅读

2021美国峰会系列一 | SPDK项目状态

2020中国峰会系列七 | 使用SPDK进行容器探索

SPDK | 每秒8千万次I/O性能实现

Release notes for VPP 21.06

点点“赞”“在看”,给我充点儿电吧~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。