Ticket #16945 (closed defect: fixed)
SPDK needs a delay between creating an I/O queue pair and sending I/O commands in Virtualbox => fixed in SVN/next maintenance
Reported by: | crane | Owned by: | |
---|---|---|---|
Component: | EFI | Version: | VirtualBox 5.1.24 |
Keywords: | spdk, nvme, queue, delay | Cc: | |
Guest type: | Linux | Host type: | Windows |
Description
We are testing SPDK in Fedora25 in Virtualbox, and find its hello_world demo would hang after repeating several times. SPDK team found the workaround way in SPDK, and commit here: https://github.com/spdk/spdk/commit/13f8cf1536ca5222878d2c03802fb367e1340ef9
It gives a 100us delay to Virtualbox after allocating an I/O queue pair. However, on another platform, we found the delay should be enlarged to 1000us to make SPDK hello_world test pass.
Here is the hello_world's procedure:
- admin cmd1: create one IO CQ
- wait until cmd1 completion
- admin cmd2: create one IO SQ
- wait until cmd2 completion
- delay 100us (or 1000us in my platform, but hope it could be eliminated)
- IO cmd3: write data
- wait until cmd3 completion <===== HANG here
- ...
Does Virtualbox NVMe device sends CQ too early?
Change History
comment:1 Changed 4 years ago by aeichner
- Summary changed from SPDK needs a delay between creating an I/O queue pair and sending I/O commands in Virtualbox to SPDK needs a delay between creating an I/O queue pair and sending I/O commands in Virtualbox => fixed in SVN/next maintenance
Note: See
TracTickets for help on using
tickets.
Thanks for the report! Will be fixed in the next maintenance release.