> There are many high-performance DMA devices supported in DPDK now, > and these DMA devices can also be integrated into other modules of DPDK as > accelerators, such as Vhost. Before integrating DMA into applications, > developers need to know the performance of these DMA devices in various > scenarios and the performance of CPUs in the same scenario, such as > different buffer lengths. Only in this way can we know the target > performance of the application accelerated by using them. This patch > introduces a high-performance testing tool, which supports comparing the > performance of CPU and DMA in different scenarios automatically with a pre- > set config file. Memory Copy performance test are supported for now. > > Signed-off-by: Cheng Jiang <cheng1.ji...@intel.com> > Signed-off-by: Jiayu Hu <jiayu...@intel.com> > Signed-off-by: Yuan Wang <yuanx.w...@intel.com> > Acked-by: Morten Brørup <m...@smartsharesystems.com> > Acked-by: Chenbo Xia <chenbo....@intel.com> > --- > v10: > rebased code from 23.07-rc2; > v9: > improved error handling; > improved lcore_params structure; > improved mbuf api calling; > improved exit process; > fixed some typos; > added scenario summary data display; > removed unnecessary include; > v8: > fixed string copy issue in parse_lcore(); > improved some data display format; > added doc in doc/guides/tools; > updated release notes; > v7: > fixed some strcpy issues; > removed cache setup in calling rte_pktmbuf_pool_create(); > fixed some typos; > added some memory free and null set operations; > improved result calculation; > v6: > improved code based on Anoob's comments; > fixed some code structure issues; > v5: > fixed some LONG_LINE warnings; > v4: > fixed inaccuracy of the memory footprint display; > v3: > fixed some typos; > v2: > added lcore/dmadev designation; > added error case process; > removed worker_threads parameter from config.ini; > improved the logs; > improved config file; > > app/meson.build | 1 + > app/test-dma-perf/benchmark.c | 508 ++++++++++++++++++++ > app/test-dma-perf/config.ini | 61 +++ > app/test-dma-perf/main.c | 616 +++++++++++++++++++++++++ > app/test-dma-perf/main.h | 64 +++ > app/test-dma-perf/meson.build | 17 + > doc/guides/rel_notes/release_23_07.rst | 6 + > doc/guides/tools/dmaperf.rst | 103 +++++ > doc/guides/tools/index.rst | 1 + > 9 files changed, 1377 insertions(+) > create mode 100644 app/test-dma-perf/benchmark.c create mode 100644 > app/test-dma-perf/config.ini create mode 100644 app/test-dma- > perf/main.c create mode 100644 app/test-dma-perf/main.h create mode > 100644 app/test-dma-perf/meson.build create mode 100644 > doc/guides/tools/dmaperf.rst >
Thanks Cheng for addressing all the comments. Acked-by: Anoob Joseph <ano...@marvell.com> Tested-by: Anoob Joseph <ano...@marvell.com>