<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">We’re running the configuration in the subject line but we need secondary process support.  however, runtime console messages and the mlx4 docs indicate that mlx4 does not explicitly support this approach.  (Even though I was able to run the multi_process/simple_mp example successfully earlier today so that’s confusing …)<div><br></div><div>Our options appear to be: (1) use a different NIC (2) change sw architecture (move away from using the primary/secondary process approach)</div><div><br></div><div>There is a description of how to get around this in one of the commit messages for mlx4, and I’ve pasted it below:</div><div><br></div><div>“<span style="font-size: 16px; caret-color: rgb(64, 64, 64); color: rgb(64, 64, 64); font-family: Lato, proxima-nova, "Helvetica Neue", Arial, sans-serif; -webkit-text-size-adjust: 100%; background-color: rgb(252, 252, 252);"> External memory unregistered in EAL memseg list cannot be used for DMA unless such memory has been registered by </span><code class="docutils literal notranslate" style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, monospace; font-size: 12px; white-space: nowrap; max-width: 100%; background-color: rgb(255, 255, 255); border: 1px solid rgb(225, 228, 229); padding: 2px 5px; color: rgb(231, 76, 60); overflow-x: auto; -webkit-text-size-adjust: 100%;"><span class="pre" style="box-sizing: border-box;">mlx4_mr_update_ext_mp()</span></code><span style="font-size: 16px; caret-color: rgb(64, 64, 64); color: rgb(64, 64, 64); font-family: Lato, proxima-nova, "Helvetica Neue", Arial, sans-serif; -webkit-text-size-adjust: 100%; background-color: rgb(252, 252, 252);"> in primary process and remapped to the same virtual address in secondary process. If the external memory is registered by primary process but has different virtual address in secondary process, unexpected error may happen”</span></div><div><span style="font-size: 16px; caret-color: rgb(64, 64, 64); color: rgb(64, 64, 64); font-family: Lato, proxima-nova, "Helvetica Neue", Arial, sans-serif; -webkit-text-size-adjust: 100%; background-color: rgb(252, 252, 252);"><br></span></div><div><br></div><div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">I think I understand most of this, but does someone have an example for how to do this?  Or could someone add some more details to this paragraph?   Wrt remapping the address, is that just as simple as using the DPDK IPC to send a message from primary->secondary containing the correct virtual address?  Lastly, how would this additional process be created?  Using something outside of the DPDK environment?</div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><br></div><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Thanks everyone!</div></div></body></html>