VirtualBox

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#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:

  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 (3)

comment:1 by aeichner, 7 years ago

Summary: SPDK needs a delay between creating an I/O queue pair and sending I/O commands in VirtualboxSPDK 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 by Frank Mehnert, 7 years ago

Resolution: fixed
Status: newclosed

Fixed in 5.1.26.

comment:3 by crane, 7 years ago

tested and verified in 5.1.26

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use