Bug 1412201
Summary: | OVS-DPDK : Improved performance/scaling with # of flows to address Telco use cases | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Chegu Vinod <chegu_vinod> | |
Component: | openvswitch | Assignee: | Kevin Traynor <ktraynor> | |
Status: | CLOSED NEXTRELEASE | QA Contact: | Christian Trautman <ctrautma> | |
Severity: | high | Docs Contact: | ||
Priority: | high | |||
Version: | 7.4 | CC: | aloughla, atragler, echaudro, fbaudin, fleitner, ksundara, ktraynor, markmc, qding, smerrow, srevivo | |
Target Milestone: | pre-dev-freeze | Keywords: | FutureFeature, Tracking | |
Target Release: | --- | |||
Hardware: | x86_64 | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | If docs needed, set a value | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1426175 (view as bug list) | Environment: | ||
Last Closed: | 2017-09-22 10:38:45 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1419948, 1426175, 1465537 |
Description
Chegu Vinod
2017-01-11 14:14:43 UTC
Below is a list of the patches that were used in the referred to benchmarks. I expect that they will all be merged/rejected in upstream OVS by OVS 2.8 (late summer 2017?). Probabilistic EMC insertion: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327576.html PMD performance debug info: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327569.html https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327570.html TX Batching: https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326348.html TX to tunnel ports without recirculation (combine actions): https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327161.html The following patches are currently upstreamed in to the master branch and will be part of OVS 2.7 DPCLS per in_port with sorted subtables: Commit 3453b4d62a98f1c276a89ad560d4212b752c7468 Data structure alignment: http://openvswitch.org/pipermail/dev/2016-October/080654.html Commit d8a304b44765cb114ad19dfbc46369dc140db340 Commit 22ccf9c258a763a246270da71e66f035388998a1 Commit 63906f18d71318623307914dc99ad28acfeff399 Commit 38ee0814978c620bfa2ba5ee1069d8b42ff9de95 Commit ad9f05812d399bf794f9ab34449a8fc32ca08806 Commit db2e457d6c1cd3e3bf4ddfcbc568449dceb11285 Commit 0a0b5a7282063114d223b9bed386235b7e59bccd Commit 96d96917e9fe0157a6d8ff1457b52161ff1206d4 Commit 2e4450aa35c6e7a9c97c930f5d43028cfbfbe07f Commit a17408e432b7faba04219f48f00f8067010b8aed Commit 165f5e467129d0032004de70dbf0a7d7f3e7950a Commit f4b835bb0f2e7040a52bc3b0bbd6ba8fa4b20857 Current status of outstanding patches: Probabilistic EMC insertion: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327576.html - Merged. PMD performance debug info: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327569.html - Merged. https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327570.html - Not Merged. However this is just a user stats addition for debugging. It will not help improve performance. TX Batching: https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326348.html - In rework. TX to tunnel ports without recirculation (combine actions): https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327161.html - In rework. Current status of outstanding patches: Probabilistic EMC insertion: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327576.html - Merged in OVS master @ OVS 2.7.90 (i.e. post OVS 2.7). TX Batching: https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326348.html - Max latency for this original patch is unacceptable. However, there is wip with some suggestions for how to improve latency. TX to tunnel ports without recirculation (combine actions): https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327161.html - Was merged, but now reverted due to some test fails and bugs. I expect it will be re-applied when they are resolved. ==== The following are part of the patches in the Description, however they are stats only and do not have an effect on performance. As such I am not considering them necessary for this Bz: PMD performance debug info: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327569.html - Not Merged (was incorrect status in Comment 4) EMC % full stat https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327570.html - Not Merged. Current status of outstanding patches: Probabilistic EMC insertion: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327576.html - Merged in OVS master @ OVS 2.7.90 (i.e. post OVS 2.7). - There is a known bug with this code. The 'random' number that is used as the basis for the probability of insert to the emc is not random enough. It means when setting that flows should be inserted after an average of 100 pkts, it may be many 100's of thousands pkts before flow is inserted into the emc. The author is working on fix for this. TX Batching: https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326348.html - Max latency for this original patch is unacceptable. - New batching code for dpdk and dpdkvhost ports is WIP TX to tunnel ports without recirculation (combine actions): https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327161.html - Reverted from master in commit f5f64552ec22f4c7452fdb554d52e73055b51cca Current status of outstanding features: Probabilistic EMC insertion: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327576.html - Merged in OVS master @ OVS 2.7.90 (i.e. post OVS 2.7). - Fix for random number bug is acked-by/tested-by upstream - Backport for OVS 2.7 is ready pending upstream merge of random number bug TX Batching: https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326348.html - Max latency for this original patch is unacceptable. - New batching code with more acceptable latency for dpdk and addition of dpdkvhost ports is WIP upstream TX to tunnel ports without recirculation (combine actions): https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327161.html - Reverted from master in commit f5f64552ec22f4c7452fdb554d52e73055b51cca From https://bugzilla.redhat.com/show_bug.cgi?id=1426175#c5 (In reply to Franck Baudin from comment #4) > Will all the commits above included in OVS 2.7 that will be shipped with > RHEL 7.4? > > RHOSP12 will ship with ^ Probabilistic EMC insertion: https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327576.html - Merged in OVS master @ OVS 2.7.90 (i.e. post OVS 2.7). - Fix for random number bug is acked-by/tested-by upstream but minor rework is needed on the fix upstream - Backport for OVS 2.7 is ready pending upstream merge of random number bug TX Batching: https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326348.html - Max latency for this original patch is unacceptable. - New batching code with more acceptable latency is upstream and acked TX to tunnel ports without recirculation (combine actions): https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327161.html - Reverted from master in commit f5f64552ec22f4c7452fdb554d52e73055b51cca - No updates from upstream These listed ones need to be fully upstream first. All other commits will be part of the OVS 2.7 package. I want to wrap up this Bz. Most of the changes have merged and are available in OVS 2.7 packages. The exceptions are: Probabilistic EMC insertion: - This missed OVS 2.7 and there has been several bugs fixes needed - There are still one or two minor issues - The thinking is not to backport to OVS 2.7 as it would replace the current default scheme Tx Batching: - This is still being discussed upstream due to different implementations and impact on latency. It may merge in OVS 2.9 timeframe. TX to tunnel ports without recirculation (combine actions): - This merged, caused several bugs, was reverted and re-merged just before OVS 2.8 - Backporting is not possible due to major code churn in this area. There's mixture of resolutions for the different individual changes, but I'm going to mark the overall Bz as closed/nextrelease, as all the changes should eventually merge and become stable. |