summaryrefslogtreecommitdiff
path: root/vswitchd
diff options
context:
space:
mode:
authorNitin Katiyar <nitin.katiyar@ericsson.com>2019-01-16 05:41:43 +0000
committerIan Stokes <ian.stokes@intel.com>2019-01-16 10:53:17 +0000
commit5bf84282482ac91357c3261e6484342264c80fcc (patch)
tree63adeefdcf21b60ef4c814201049c10e3c9febae /vswitchd
parentaf3c51aee409def94ad4b45870124164205b2ee9 (diff)
downloadopenvswitch-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.xml41
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">