[SPDK] SPDK concurrent access

Nabarro, Tom tom.nabarro at intel.com
Tue Oct 2 05:45:08 PDT 2018


Is it correct that 2 processes cannot access SPDK simultaneously, for example

Start 2 terminals (root)
on terminal 1 run nvme_manage example, select #1 to list controllers but don't exit
on terminal 2 run identify example. Result EAL: FATAL: Cannot get hugepage information.
if we end the nvme_manage process then identity completes okay

The context is that I'm using Golang to interact with SPDK (using simple bindings to execute routines similar to the examples) and expected that I could run different tasks (sequentially) from go-routines. Example tasks include firmware update and executing fio workloads with the spdk fio_plugin example. What I'm finding is that even when executed within a go-routine (implemented with ULTs), the necessary resources are not released afterwards and then I can't issue a subsequent spdk task because I receive similar FATAL failures as listed above.

One solution might be to fork separate processes to perform the tasks require and build executables to do so but I don't want to have to resort to that.

Best regards,
Tom Nabarro BEng (hons) MIET
Intel Corporation
Software Engineer
E: tom.nabarro at intel.com<mailto:tom.nabarro at intel.com>
M: +44 (0)7786 260986
Skype: tom.nabarro

Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

More information about the SPDK mailing list