diff options
author | Nitin Katiyar <nitin.katiyar@ericsson.com> | 2019-01-16 05:41:43 +0000 |
---|---|---|
committer | Ian Stokes <ian.stokes@intel.com> | 2019-01-16 10:53:17 +0000 |
commit | 5bf84282482ac91357c3261e6484342264c80fcc (patch) | |
tree | 63adeefdcf21b60ef4c814201049c10e3c9febae /vswitchd | |
parent | af3c51aee409def94ad4b45870124164205b2ee9 (diff) | |
download | openvswitch-5bf84282482ac91357c3261e6484342264c80fcc.tar.gz |
Adding support for PMD auto load balancing
Port rx queues that have not been statically assigned to PMDs are currently
assigned based on periodically sampled load measurements.
The assignment is performed at specific instances – port addition, port
deletion, upon reassignment request via CLI etc.
Due to change in traffic pattern over time it can cause uneven load among
the PMDs and thus resulting in lower overall throughout.
This patch enables the support of auto load balancing of PMDs based on
measured load of RX queues. Each PMD measures the processing load for each
of its associated queues every 10 seconds. If the aggregated PMD load reaches
95% for 6 consecutive intervals then PMD considers itself to be overloaded.
If any PMD is overloaded, a dry-run of the PMD assignment algorithm is
performed by OVS main thread. The dry-run does NOT change the existing
queue to PMD assignments.
If the resultant mapping of dry-run indicates an improved distribution
of the load then the actual reassignment will be performed.
The automatic rebalancing will be disabled by default and has to be
enabled via configuration option. The interval (in minutes) between
two consecutive rebalancing can also be configured via CLI, default
is 1 min.
Following example commands can be used to set the auto-lb params:
ovs-vsctl set open_vswitch . other_config:pmd-auto-lb="true"
ovs-vsctl set open_vswitch . other_config:pmd-auto-lb-rebalance-intvl="5"
Co-authored-by: Rohith Basavaraja <rohith.basavaraja@gmail.com>
Co-authored-by: Venkatesan Pradeep <venkatesan.pradeep@ericsson.com>
Signed-off-by: Rohith Basavaraja <rohith.basavaraja@gmail.com>
Signed-off-by: Venkatesan Pradeep <venkatesan.pradeep@ericsson.com>
Signed-off-by: Nitin Katiyar <nitin.katiyar@ericsson.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Tested-by: Kevin Traynor <ktraynor@redhat.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
Diffstat (limited to 'vswitchd')
-rw-r--r-- | vswitchd/vswitch.xml | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 6f8095882..d58f63228 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -574,6 +574,47 @@ be set to 'skip_sw'. </p> </column> + <column name="other_config" key="pmd-auto-lb" + type='{"type": "boolean"}'> + <p> + Configures PMD Auto Load Balancing that allows automatic assignment of + RX queues to PMDs if any of PMDs is overloaded (i.e. processing cycles + > 95%). + </p> + <p> + It uses current scheme of cycle based assignment of RX queues that + are not statically pinned to PMDs. + </p> + <p> + The default value is <code>false</code>. + </p> + <p> + Set this value to <code>true</code> to enable this option. It is + currently disabled by default and an experimental feature. + </p> + <p> + This only comes in effect if cycle based assignment is enabled and + there are more than one non-isolated PMDs present and at least one of + it polls more than one queue. + </p> + </column> + <column name="other_config" key="pmd-auto-lb-rebal-interval" + type='{"type": "integer", + "minInteger": 0, "maxInteger": 20000}'> + <p> + The minimum time (in minutes) 2 consecutive PMD Auto Load Balancing + iterations. + </p> + <p> + The defaul value is 1 min. If configured to 0 then it would be + converted to default value i.e. 1 min + </p> + <p> + This option can be configured to avoid frequent trigger of auto load + balancing of PMDs. For e.g. set the value (in min) such that it occurs + once in few hours or a day or a week. + </p> + </column> </group> <group title="Status"> <column name="next_cfg"> |