首页 > 解决方案 > 英特尔 SPDK ioat 示例无法运行

问题描述

我是 intel SPDK 的新手,在运行示例代码时遇到了一些问题。

我按照本页所述设置了 BIOS 。

英特尔® 超线程技术关闭

启用英特尔 SpeedStep® 技术

英特尔® Turbo Boost 技术已禁用

然后我从此页面git clone并运行所有命令。测试命令./test/unit/unittest.sh返回所有单元测试通过

但是当我运行示例 examples/ioat/verify/verify 时,它返回

EAL:保留了 24 个大小为 1073741824 的巨页,但未找到该大小的已安装hugetlbfs

开始 SPDK v18.10-pre / DPDK 18.05.0 初始化...

[ DPDK EAL 参数:验证 --no-shconf -c 0x1 --legacy-mem --file-prefix=spdk_pid3170 ]

EAL:检测到 16 个 lcore

EAL:检测到 2 个 NUMA 节点

EAL:多进程套接字 /var/run/dpdk/spdk_pid3170/mp_socket

EAL:保留了 24 个大小为 1073741824 的巨页,但未找到该大小的已安装hugetlbfs

EAL:探测 VFIO 支持...

用户配置:

运行时间:10秒

核心掩码:0x1

队列深度:32

找不到足够的 ioat 频道。检查 ioat 通道是否绑定到 uio_pci_generic 或 vfio-pci。scripts/setup.sh 可以帮助解决这个问题。

和 scripts/setup.sh 状态显示

巨页

节点巨大的免费/总计

节点0 1048576kB 24 / 24

节点0 2048kB 0 / 800

节点1 1048576kB 0 / 0

节点1 2048kB 0 / 224

NVMe 设备

BDF Numa 节点 驱动程序名称 设备名称

I/OAT DMA

BDF Numa 节点驱动程序名称

虚拟

BDF Numa 节点驱动程序名称 设备名称

我的硬件是:

带有 ioatdma 的 linux 内核版本 4.15.7 编译为模块

CPU 英特尔至强 E5-2695

芯片组 C612

如果有人能给我一些建议或给我一些关于 SPDK 的网站,那将是非常有帮助的!谢谢!

标签: linuxintel

解决方案


运行./scripts/setup.sh(不带参数)。如果部分下没有ioat设备,I/OAT DMA您将无法运行此应用程序。也没有hugetlbfs挂载点。


推荐阅读