1

I have installed nvme-cli on Ubuntu and like to test if the drive actually supports async event request.

I was able to run nvme admin-passthru /dev/nvmen1 --opcode=0x0C without any errors but it times out after a while with error(or warning) passthru: Interrupted system call.

Does it mean async event request is registered successfully in this case? My understanding is the async event request should never timed out... Any idea how can I verify if the device supports this feature at all through command line?

keye
  • 135
  • 1
  • 14

2 Answers2

1

As per NVMe Spec 1.3 below is the Async command desription:

Asynchronous events are used to notify host software of status, error, and health information as these events occur. To enable asynchronous events to be reported by the controller, host software needs to submit one or more Asynchronous Event Request commands to the controller. The controller specifies an event to the host by completing an Asynchronous Event Request command. Host software should expect that the controller may not execute the command immediately; the command should be completed when there is an event to be reported. The Asynchronous Event Request command is submitted by host software to enable the reporting of asynchronous events from the controller. This command has no timeout. The controller posts a completion queue entry for this command when there is an asynchronous event to report to the host. If Asynchronous Event Request commands are outstanding when the controller is reset, the commands are aborted.

So I think you need to open simultaneously more than one command line and give more than maximum permitted async commands to verify the response.

Yuyureeka
  • 31
  • 7
0
  1. use admin-passthru send AER, you could add par -t 0xffffffff

  2. you can check if the AER response is enable with get-feature(feature id: 11), if not than you may need enable it with set-feature (refer nvme spec: asynchronous event config)

Hope this could be useful

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129