#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 (3)
comment:1 by , 8 years ago
Summary: | SPDK needs a delay between creating an I/O queue pair and sending I/O commands in Virtualbox → SPDK needs a delay between creating an I/O queue pair and sending I/O commands in Virtualbox => fixed in SVN/next maintenance |
---|
Thanks for the report! Will be fixed in the next maintenance release.