numam-dpdk/app/test
Dmitry Kozlyuk c62b318a9f app/test: add allocator performance benchmark
Memory allocator performance is crucial to applications that deal
with large amount of memory or allocate frequently. DPDK allocator
performance is affected by EAL options, API used and, at least,
allocation size. New autotest is intended to be run with different
EAL options. It measures performance with a range of sizes
for dirrerent APIs: rte_malloc, rte_zmalloc, and rte_memzone_reserve.

Work distribution between allocation and deallocation depends on EAL
options. The test prints both times and total time to ease comparison.

Memory can be filled with zeroes at different points of allocation path,
but it always takes considerable fraction of overall timing. This is why
the test measures filling speed and prints how long clearing takes
for each size as a reference (for rte_memzone_reserve estimations
are printed).

Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
2022-02-08 21:32:53 +01:00
..
test_cfgfiles/etc
commands.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
has_hugepage.py test: replace shell script with Python 2022-02-08 14:19:40 +01:00
meson.build app/test: add allocator performance benchmark 2022-02-08 21:32:53 +01:00
packet_burst_generator.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
packet_burst_generator.h net: add rte prefix to UDP structure 2019-05-24 13:34:46 +02:00
process.h test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
resource.c
resource.h use appropriate EAL macro for constructors 2019-03-27 23:10:57 +01:00
sample_packet_forward.c test: fix ring PMD initialisation 2021-10-26 19:59:26 +02:00
sample_packet_forward.h test: fix ring PMD initialisation 2021-10-26 19:59:26 +02:00
test_acl.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_acl.h test/acl: add 32-bit range test case 2020-02-13 14:43:56 +01:00
test_alarm.c test/alarm: disable bad time cases on Windows 2022-02-08 14:19:40 +01:00
test_atomic.c fix spelling in comments and doxygen 2021-11-16 17:57:09 +01:00
test_barrier.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_bitmap.c test: add bitmap to fast tests 2021-11-10 11:42:34 +01:00
test_bitops.c test/bitops: add bit operations test case 2020-06-16 14:34:39 +02:00
test_bitratestats.c test: fix ring PMD initialisation 2021-10-26 19:59:26 +02:00
test_bpf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_byteorder.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_cfgfile.c test/cfgfile: replace license text with SPDX tag 2019-11-28 03:12:55 +01:00
test_cksum.c test/cksum: add L3/L4 checksum API test 2021-07-02 19:03:03 +02:00
test_cmdline_cirbuf.c
test_cmdline_etheraddr.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline_ipaddr.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_cmdline_lib.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_cmdline_num.c test/cmdline: silence clang 12 warning 2021-04-21 00:44:24 +02:00
test_cmdline_portlist.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline_string.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_cmdline.c
test_cmdline.h
test_common.c eal: add macro to swap two variables 2021-09-27 18:33:45 +02:00
test_compressdev_test_buffer.h eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_compressdev.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_cpuflags.c test/cpuflags: add new Arm flags 2020-10-13 17:57:52 +02:00
test_crc.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_cryptodev_aead_test_vectors.h test/crypto: enable chacha_poly PMD 2021-10-20 15:33:16 +02:00
test_cryptodev_aes_test_vectors.h test/crypto: add multi-segment out-of-place AES-XTS 2021-07-20 22:27:00 +02:00
test_cryptodev_asym_util.h test/crypto: add ECPM cases 2020-01-15 15:01:55 +01:00
test_cryptodev_asym.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_cryptodev_blockcipher.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_cryptodev_blockcipher.h cryptodev: extend data-unit length field 2021-10-16 16:24:43 +02:00
test_cryptodev_des_test_vectors.h test/crypto: do not check for PMD 2020-04-19 22:45:40 +02:00
test_cryptodev_dh_test_vectors.h
test_cryptodev_dsa_test_vectors.h
test_cryptodev_ecdsa_test_vectors.h test/crypto: add ECDSA sign/verify cases 2020-01-15 15:01:55 +01:00
test_cryptodev_ecpm_test_vectors.h test/crypto: add ECPM cases 2020-01-15 15:01:55 +01:00
test_cryptodev_hash_test_vectors.h test/crypto: add AES-XCBC hash only test case 2021-01-19 18:05:45 +01:00
test_cryptodev_hmac_test_vectors.h
test_cryptodev_kasumi_hash_test_vectors.h
test_cryptodev_kasumi_test_vectors.h test/crypto: add KASUMI test cases for auth-cipher 2019-07-05 15:28:14 +02:00
test_cryptodev_mixed_test_vectors.h test/crypto: add mixed encypted-digest 2020-01-15 16:45:04 +01:00
test_cryptodev_mod_test_vectors.h test/crypto: check asymmetric crypto 2019-04-02 16:50:24 +02:00
test_cryptodev_rsa_test_vectors.h test/crypto: add RSA cases in QAT and openssl 2019-10-23 16:57:06 +02:00
test_cryptodev_security_docsis_test_vectors.h test/crypto: refactor DOCSIS to show hidden cases 2021-11-04 19:46:27 +01:00
test_cryptodev_security_ipsec_test_vectors.h test/crypto: add AES-XCBC known vectors 2022-01-21 11:55:12 +01:00
test_cryptodev_security_ipsec.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_cryptodev_security_ipsec.h test/crypto: add copy/set DF cases in IPsec 2022-01-21 11:55:12 +01:00
test_cryptodev_security_pdcp_sdap_test_vectors.h test/crypto: add test vectors for PDCP-SDAP 2020-10-14 22:24:41 +02:00
test_cryptodev_security_pdcp_test_func.h test/crypto: add PDCP U-Plane decap cases 2019-10-09 11:50:12 +02:00
test_cryptodev_security_pdcp_test_vectors.h test/crypto: support PDCP short MAC-I 2021-09-08 16:55:20 +02:00
test_cryptodev_security_pdcp.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_cryptodev_snow3g_hash_test_vectors.h
test_cryptodev_snow3g_test_vectors.h test/crypto: add scatter-gather tests for IP and OOP 2019-07-05 15:28:14 +02:00
test_cryptodev_zuc_test_vectors.h test/crypto: fix vectors for ZUC-256 2021-11-04 19:46:27 +01:00
test_cryptodev.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_cryptodev.h drivers: remove octeontx2 drivers 2022-01-12 15:36:32 +01:00
test_cycles.c test: remove strict timing requirements some tests 2021-06-03 18:08:57 +02:00
test_debug.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_devargs.c test/devargs: fix memory leak 2021-10-25 09:42:38 +02:00
test_distributor_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_distributor.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_dmadev_api.c test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
test_dmadev_api.h test/dma: add dmadev API test 2021-10-17 20:49:58 +02:00
test_dmadev.c test/dma: increase iterations of capacity test case 2022-01-20 14:05:47 +01:00
test_eal_flags.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_eal_fs.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_efd_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_efd.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_errno.c eal: differentiate strerror message on Windows 2022-02-08 14:19:40 +01:00
test_ethdev_link.c ethdev: add namespace 2021-10-22 18:15:38 +02:00
test_event_crypto_adapter.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_event_eth_rx_adapter.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_event_eth_tx_adapter.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_event_ring.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_event_timer_adapter.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_eventdev.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_external_mem.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_fbarray.c eal: hide shared memory config 2019-07-06 10:32:34 +02:00
test_fib6_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_fib6.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_fib_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_fib.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_flow_classify.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_flow_classify.h
test_func_reentrancy.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_graph_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_graph.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_hash_functions.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_hash_multiwriter.c test/hash: use compiler atomics for sync 2021-10-19 17:15:10 +02:00
test_hash_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_hash_readwrite_lf_perf.c test/hash: add RCU tests 2020-10-24 11:11:46 +02:00
test_hash_readwrite.c test/hash: use compiler atomics for sync 2021-10-19 17:15:10 +02:00
test_hash.c test/hash: fix buffer overflow with jhash 2021-10-21 09:42:40 +02:00
test_interrupts.c test/interrupts: skip on Windows 2022-02-08 14:19:40 +01:00
test_ipfrag.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_ipsec_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_ipsec_sad.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_ipsec.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_kni.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_kvargs.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_latencystats.c test: fix ring PMD initialisation 2021-10-26 19:59:26 +02:00
test_lcores.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_link_bonding_mode4.c ethdev: add namespace 2021-10-22 18:15:38 +02:00
test_link_bonding_rssconf.c ethdev: add namespace 2021-10-22 18:15:38 +02:00
test_link_bonding.c fix spelling in comments and doxygen 2021-11-16 17:57:09 +01:00
test_logs.c test/log: skip regex on Windows 2022-02-08 14:19:40 +01:00
test_lpm6_data.h fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_lpm6_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_lpm6.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_lpm_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_lpm.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_malloc_perf.c app/test: add allocator performance benchmark 2022-02-08 21:32:53 +01:00
test_malloc.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_mbuf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_mcslock.c test/mcslock: use compiler atomics for lcores sync 2021-07-30 19:10:58 +02:00
test_member_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_member.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_memcpy_perf.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_memcpy.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
test_memory.c test/mem: fix error check 2022-02-08 14:19:40 +01:00
test_mempool_perf.c mempool: test performance with constant n 2022-02-02 22:06:14 +01:00
test_mempool.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_memzone.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_meter.c fix spelling in comments and doxygen 2021-11-16 17:57:09 +01:00
test_metrics.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_mp_secondary.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_pcapng.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_pdump.c test: fix ring PMD initialisation 2021-10-26 19:59:26 +02:00
test_pdump.h
test_per_lcore.c eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
test_pflock.c pflock: add phase-fair reader writer locks 2021-04-14 21:59:47 +02:00
test_pie.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_pmd_perf.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_pmd_ring_perf.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_pmd_ring.c test: check stop call status 2020-10-16 22:26:41 +02:00
test_power_cpufreq.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_power_kvm_vm.c build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_power.c power: support cppc_cpufreq driver 2021-07-09 16:04:46 +02:00
test_prefetch.c test: fix build with GCC 11 2021-05-20 23:10:22 +02:00
test_rand_perf.c eal: introduce random generator with upper bound 2019-06-28 15:23:55 +02:00
test_rawdev.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_rcu_qsbr_perf.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_rcu_qsbr.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_reciprocal_division_perf.c test: fix division by zero 2021-05-19 09:23:00 +02:00
test_reciprocal_division.c
test_red.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_reorder.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_resource.c
test_rib6.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_rib.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_ring_hts_stress.c test/ring: add contention stress test for HTS ring 2020-04-21 12:52:55 +02:00
test_ring_mpmc_stress.c test/ring: add contention stress test 2020-04-21 11:34:09 +02:00
test_ring_mt_peek_stress_zc.c test/ring: fix build for O1 optimization 2020-11-15 16:45:48 +01:00
test_ring_mt_peek_stress.c test/ring: rename stress test for MT peek API 2020-07-03 12:36:04 +02:00
test_ring_perf.c test/ring_perf: use compiler atomic builtins for lcores sync 2021-11-17 11:07:06 +01:00
test_ring_rts_stress.c test/ring: add contention stress test for RTS ring 2020-04-21 12:52:55 +02:00
test_ring_st_peek_stress_zc.c test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring_st_peek_stress.c test/ring: add stress test for ST peek API 2020-07-03 12:05:25 +02:00
test_ring_stress_impl.h test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_ring_stress.c test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring_stress.h test/ring: add stress tests for zero copy API 2020-10-29 14:13:31 +01:00
test_ring.c app: remove unneeded atomic header include 2021-11-17 11:07:06 +01:00
test_ring.h test/ring: add functional tests for zero copy API 2020-10-29 14:13:31 +01:00
test_rwlock.c test: remove unnecessary test commands 2021-11-16 16:28:53 +01:00
test_sched.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_security.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_service_cores.c test/service: fix race in attr check 2021-10-12 21:07:30 +02:00
test_spinlock.c test/spinlock: use compile atomics for lcores sync 2021-07-30 19:06:35 +02:00
test_stack_perf.c test/stack_perf: use compiler atomics for lcore sync 2021-11-17 11:07:06 +01:00
test_stack.c stack: remove unneeded atomic header include 2021-10-19 17:15:10 +02:00
test_string_fns.c
test_table_acl.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_table_acl.h
test_table_combined.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_table_combined.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table_pipeline.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_table_pipeline.h
test_table_ports.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_table_ports.h
test_table_tables.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_table_tables.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_table.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_table.h build: replace use of old build macros 2020-10-19 22:15:44 +02:00
test_tailq.c remove useless include of EAL memory config header 2019-10-09 10:22:24 +02:00
test_telemetry_data.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test_telemetry_json.c test: remove hack for private header inclusion 2021-07-06 13:28:35 +02:00
test_thash_perf.c test/thash: fix build with clang 13 2021-11-16 13:01:52 +01:00
test_thash.c fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
test_ticketlock.c test/ticketlock: use compiler atomics for lcores sync 2021-07-30 19:04:34 +02:00
test_timer_perf.c build/linux: rename macro from LINUXAPP to LINUX 2019-03-12 17:31:22 +01:00
test_timer_racecond.c test/timer: remove license boilerplate 2021-05-19 11:02:45 +02:00
test_timer_secondary.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_timer.c test/timer: use compiler atomic builtins for sync 2021-11-17 11:07:06 +01:00
test_trace_perf.c test/trace: fix race on collected perf data 2021-04-14 16:12:44 +02:00
test_trace_register.c trace: simplify trace point registration 2020-07-05 21:34:21 +02:00
test_trace.c test: skip unsupported tests on Windows 2022-02-08 14:19:40 +01:00
test_trace.h test/trace: add functional test cases 2020-04-23 15:40:03 +02:00
test_vdev.c bus: fix device iterator match from arguments 2021-11-24 15:11:42 +01:00
test_version.c
test_xmmt_ops.h config: remap flags used for Arm platforms 2020-10-13 16:35:48 +02:00
test.c test: remove POSIX-specific code 2022-02-08 14:19:40 +01:00
test.h test/crypto: add lookaside IPsec cases 2021-09-28 08:46:03 +02:00
virtual_pmd.c ethdev: add namespace 2021-10-22 18:15:38 +02:00
virtual_pmd.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00