Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Using SPDK (Storage Performance Development Kit) DMA Engines


I am having an issue where if two processes attempt to use the same engine, all DMA action stops.  I am using the spdk-19.01.1 package on a Broadwell (D-1559) processor which has12 physical cores, 24 cores with hyperthreading, 4 DMA engines, and am running RedHat 7.4.  First, is this the latest and greatest package (I can not find anything newer).

I can run a single application using the Intel DMA engines and that runs fine.  The documentation (header files) states that the probe callback will attach to an engine if 'true' is returned and the probe callback will only be called if engines are available.  It appears that if one task attaches to the engines, and while that task is using the engine(s), another task can probe the same engines and successfully attach as well.  Once that second task starts to use the engines, everything stops.

Is there either a way to reserve an engine so no one else can use it, or to share the engines?  A solution which supports either of these options would work.



0 Kudos
1 Reply

Hi Paul,

Would you mind posting your question to the SPDK mailing list?  Details can be found at  That’s the best place to get help with questions about SPDK.


Jim Harris

SPDK Core Maintainer


0 Kudos