Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Co-authored-by: Venkatesan Pradeep <[email protected]> Signed-off-by: Rohith Basavaraja <[email protected]> Signed-off-by: Venkatesan Pradeep <[email protected]> Signed-off-by: Nitin Katiyar <[email protected]> Acked-by: Kevin Traynor <[email protected]> Tested-by: Kevin Traynor <[email protected]> Signed-off-by: Ian Stokes <[email protected]>
- Loading branch information