Description of problem:
Over a period of time traffic patterns can change, or the datapath of OVS-DPDK can be found to be imbalanced, whereby some of the datapath cores are heavily overloaded leading to packet loss, and some are lightly loaded with available cycles. This can lead to continual packet loss.
During reconfiguration OVS-DPDK will attempt to create a more balanced system, but reconfiguration may not take place for a long time.
Auto-rebalance is an experimental feature in OVS 2.11 that will monitor the health of the processing load across cores, perform several checks and if predicted that the system will be have a better balanced load after a reconfiguration, it will automatically trigger a reconfiguration.
Steps to Test:
1. setup 2 ports with 2 rx queues and 2 pmd cores
2. adjust traffic rates so that 1 pmd core is heavily overload (95%+) with 2 heavily loaded rxqs, while the other pmd core is lightly loaded with 2 lightly loaded rxqs.
3. After ~1 min, confirm 2. with: ovs-appctl dpif-netdev/pmd-rxq-show
4. enable auto-rebalance: ovs-vsctl set open_vswitch . other_config:pmd-auto-lb="true"
5. observe that after ~1 min auto-rebalance detects this situation and requests a rebalance (dpif_netdev|INFO|PMD auto lb dry run. requesting datapath reconfigure.)
7. Observe with pmd-rxq-show that now that the heavily loaded rx queues are on different cores
Additional info:
Further modifications may be made at a later time either inside of outside of OVS to refine this feature.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHEA-2019:0799