VirtualBox

Ticket #16945 (closed defect: fixed)

Opened 4 weeks ago

Last modified 4 weeks ago

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:
Priority: major 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:

  1. admin cmd1: create one IO CQ
  2. wait until cmd1 completion
  3. admin cmd2: create one IO SQ
  4. wait until cmd2 completion
  5. delay 100us (or 1000us in my platform, but hope it could be eliminated)
  6. IO cmd3: write data
  7. wait until cmd3 completion <===== HANG here
  8. ...

Does Virtualbox NVMe device sends CQ too early?

Change History

comment:1 Changed 4 weeks 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

Thanks for the report! Will be fixed in the next maintenance release.

comment:2 Changed 4 weeks ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in 5.1.26.

comment:3 Changed 4 weeks ago by crane

tested and verified in 5.1.26

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use