[ovs-build] Passed: ovsrobot/ovs#1052 (series_111434 - 8eb2532)

Travis CI builds at travis-ci.org
Mon Jun 3 12:07:12 UTC 2019


Build Update for ovsrobot/ovs
-------------------------------------

Build: #1052
Status: Passed

Duration: 1 hr, 16 mins, and 21 secs
Commit: 8eb2532 (series_111434)
Author: Yanqin Wei
Message: dpif-netdev: dfc_process performance optimization by prefetching EMC entry.

It is observed that the throughput of medium number of flows(9-8191) is
worse than low number of flows(1-8) in the EMC NIC2NIC test.
It is because CPU cache-miss increasing in EMC lookup. Each flow need
load at least one EMC entry to CPU L1 cache(several cache lines) and
compare it with packet miniflow.
This patch improves it by prefetching EMC entry in advance. Hash value
can be obtained from dpdk rss hash, so this step can be advanced ahead of
miniflow_extract() and prefetch EMC entry there. By testing on several
kinds of cpu with 32K L1 cache(x86-64 and arm64), prefetch start to improve
performance from 8~10 flows onwards. In order to benefit most modern CPUs,
the minimum threshold is set to 20. The max threshold is set to
EM_FLOW_HASH_ENTRIES-1 because entry prefetching become negative in huge
number of flows. So this patch prefetch one EMC cache line only when EMC
counter is 20-8191, which could ensure no side effect in all cases.
Performance test was run in some arm and x86 platform. Medium number of
flow case achieved around 2-3% improvement in RFC2544 test in x86 and arm.
High number of flows(>8191) also benifit during EMC insertion, so it
acheives around 2% improvement in 100k flows RFC2544 test. And low number
of flows has almost no performance impact.

Signed-off-by: Yanqin Wei <Yanqin.Wei at arm.com>
Reviewed-by: Gavin Hu <Gavin.Hu at arm.com>
Signed-off-by: 0-day Robot <robot at bytheb.org>

View the changeset: https://github.com/ovsrobot/ovs/compare/228ab60ac83e...8eb25327dfe2

View the full build log and details: https://travis-ci.org/ovsrobot/ovs/builds/540669792?utm_medium=notification&utm_source=email

--

You can unsubscribe from build emails from the ovsrobot/ovs repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=22285853&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20190603/61acf905/attachment.html>


More information about the build mailing list