[SPDK] Re: Using SPDK IOAT driver to drive data to PCIe space
Luse, Paul E <paul.e.luse at intel.com> Mon, 14 Jun 2021 20:56:16 +0000
| Newsgroups | dev.linux.lists.spdk |
|---|---|
| Message-ID | <BYAPR11MB383196B195C4B2F77CAB27B7AD319@BYAPR11MB3831.namprd11.prod.outlook.com> |
Nothing that I can think of… maybe you can expand a little on what modifications you made? Slack might be a faster way to get some conversations going too but this works as well ☺ From: nufosmatic(a)nufosmatic.com <nufosmatic(a)nufosmatic.com> Date: Monday, June 14, 2021 at 3:12 AM To: spdk(a)lists.01.org <spdk(a)lists.01.org> Subject: [SPDK] Using SPDK IOAT driver to drive data to PCIe space Leaving aside for the moment that the IOAT example (build/examples/ioat_perf) is using SPDK library calls that do not differentiate between the memory that is used for managing a mempool and the data that serves as buffers in a mempool, why would the SPDK IOAT perform very, very badly addressing memory in PCIe space. I have a device that I know will run 2-6 GB/s on a x8 interface from other DMA engines in this system. And the IOAT example will run as fast as 5 GB/s into the default DPDK memory reserves. And I know that the IOAT engine (at least the Crystal Beach IOAT engine on an Intel Cascade Lake SuperMicro X11DPG-QT with Sky Lake-E CBDMA) using another commercial middleware will run as much as 9 GB/s in a x16 interface. But the IOAT example, modified to separate the memory management from the data (see rte_mempool_empty() and rte_mempool_populate_virt()), runs <<0.1 GB/s into x8 and x4 PCIe spaces. Is there some other feature that needs to be enabled in the IOAT driver to allow it to drive to PCIe space fastly? _______________________________________________ SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to spdk-leave(a)lists.01.org