2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-29 15:28:56 +00:00
Files
openvswitch/lib
Yanqin Wei a0f7bf2220 util: implement count_1bits with Neon intrinsics or gcc built-in for aarch64.
Userspace datapath needs to traverse through miniflow values many times. In
this process, 'count_1bits' operation for 'Flowmap' significantly impact
performance. On arm, this function was defined by portable implementation
because gcc for arm does not support popcnt feature.
But in the aarch64, VCNT neon instruction can accelerate "count_1bits".
From Gcc-7, the built-in function is implemented with neon intruction.
In this patch, count_1bits function will be impelmented with gcc built-in
from gcc-7 on, and with neon intrinsics in gcc-6.
Performance test was run in two aarch64 machines. In the NIC2NIC test, one
tuple dpcls lookup case achieves around 4% throughput improvement and
10(average) tuples case achieves around 5% improvement.

Tested-by: Malvika Gupta <malvika.gupta@arm.com>
Signed-off-by: Yanqin Wei <Yanqin.Wei@arm.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2019-06-13 10:22:12 -07:00
..
2016-05-16 17:46:55 -07:00
2018-06-11 15:31:42 -07:00
2019-05-09 15:18:25 -07:00
2019-05-09 15:18:25 -07:00
2019-05-09 15:18:25 -07:00
2019-05-09 15:18:25 -07:00
2017-12-01 13:22:18 -08:00
2019-04-22 12:56:50 -07:00
2019-06-01 10:12:02 -07:00
2016-04-27 15:00:37 -07:00
2016-04-27 15:00:37 -07:00
2019-02-14 11:39:18 -08:00
2019-02-25 09:44:52 -08:00
2019-04-12 15:08:02 -07:00
2019-05-10 12:39:08 -07:00
2018-01-10 20:39:50 +02:00
2019-02-14 11:39:20 -08:00
2018-06-11 15:31:51 -07:00
2018-05-25 13:36:05 -07:00
2018-05-25 13:36:05 -07:00
2018-06-11 15:31:53 -07:00
2017-05-05 08:52:32 -07:00
2017-05-05 08:52:32 -07:00
2017-08-03 14:48:33 -07:00
2018-06-11 15:31:53 -07:00
2017-03-20 10:23:04 -07:00
2018-05-21 20:33:30 -07:00
2018-02-01 13:03:44 -08:00
2017-10-24 16:09:16 -07:00