cc7b73ea9e
This patch introduces a new version of the event timer adapter software PMD. In the original design, timer event producer lcores in the primary and secondary processes enqueued event timers into a ring, and a service core in the primary process dequeued them and processed them further. To improve performance, this version does away with the ring and lets lcores insert timers directly into timer skiplist data structures; the service core directly accesses the lists as well, when looking for timers that have expired. To compare the burst and non-burst performance of the original and new versions of the software event timer adapter, I ran the following commands: $ sudo ./build/app/dpdk-test-eventdev -c 0xFFE -s 0xC --vdev=event_sw0 \ -- --test=perf_queue --plcores=4,5,6 --wlcore=7,8,9 --stlist=p \ --prod_type_timerdev --worker_deq_depth=32 $ sudo ./build/app/dpdk-test-eventdev -c 0xFFE -s 0xC --vdev=event_sw0 \ -- --test=perf_queue --plcores=4,5,6 --wlcore=7,8,9 --stlist=p \ --prod_type_timerdev_burst --worker_deq_depth=32 With the new version, I see a 151% improvement in throughput for the non-burst case, and a 270% improvement in throughput for the burst case. I also see a 53% improvement in arm latency in the non-burst case and a 65% improvement in arm latency in the burst case. Note: To perform the test, I commented out a check in the original version that checks the adapter tick interval against a minimum value. Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%