1

我已经在 Ubuntu 上安装了nvme-cli,并且想测试驱动器是否真的支持异步事件请求。

我能够在nvme admin-passthru /dev/nvmen1 --opcode=0x0C没有任何错误的情况下运行,但一段时间后它会因错误(或警告)而超时passthru: Interrupted system call

这是否意味着在这种情况下成功注册了异步事件请求?我的理解是异步事件请求永远不应该超时......知道如何通过命令行验证设备是否完全支持此功能?

4

1 回答 1

1

根据下面的 NVMe Spec 1.3 是异步命令描述:

异步事件用于在这些事件发生时将状态、错误和健康信息通知主机软件。为了使控制器能够上报异步事件,主机软件需要向控制器提交一个或多个异步事件请求命令。控制器通过完成异步事件请求命令向主机指定事件。主机软件应该预期控制器可能不会立即执行命令;该命令应在有事件要报告时完成。异步事件请求命令由主机软件提交,以启用来自控制器的异步事件报告。此命令没有超时。当有异步事件要报告给主机时,控制器会发布此命令的完成队列条目。

因此,我认为您需要同时打开多个命令行并提供超过允许的最大异步命令来验证响应。

于 2020-04-29T15:29:46.593 回答