eventdev: add new software timer adapter
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>
This commit is contained in:
parent
b41363e477
commit
cc7b73ea9e
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user