Add support for OVS DPDK pmd auto balance parameters.

This patch adds 3 new role specific THT parameters to configure OVS DPDK
pmd auto balance feature, OvsPmdLoadThreshold (PMD load threshold)
OvsPmdImprovementThreshold (variance in PMD improvement threshold)
OvsPmdRebalInterval (minimum time between 2 consecutive
PMD auto load balancing iterations).

Depends-On: https://review.opendev.org/c/openstack/tripleo-ansible/+/790251
Signed-off-by: yogananth subramanian <ysubrama@redhat.com>
Change-Id: Id74ba956cf29241c93849602ab05c21c1ccb2b06
This commit is contained in:
yogananth subramanian 2021-05-08 17:41:30 +05:30 committed by yogananth Subramanian
parent 5fade4ae00
commit ec444622dc
2 changed files with 53 additions and 0 deletions

View File

@ -101,6 +101,43 @@ parameters:
type: boolean
tags:
- role_specific
OvsPmdLoadThreshold:
description: >
Minimum PMD thread load threshold. Its a string with a number
in range 0 to 100, specifies the minimum PMD thread load threshold
(% of used cycles) of any non-isolated PMD threads when a PMD Auto Load
Balance may be triggered.
constraints:
- allowed_pattern: "[0-9]*"
type: string
default: ""
tags:
- role_specific
OvsPmdImprovementThreshold:
description: >
PMD load variance improvement threshold. Its a string with a number
in range 0 to 100, specifies the minimum evaluated % improvement in
load distribution across the non-isolated PMD threads that will allow a
PMD Auto Load Balance to occur.
Note, setting this parameter to 0 will always allow an auto load balance
to occur regardless of estimated improvement or not.
constraints:
- allowed_pattern: "[0-9]*"
type: string
default: ""
tags:
- role_specific
OvsPmdRebalInterval:
description: >
PMD auto load balancing interval, Its a string with a number in range
0 to 20,000, specifies the minimum time (in minutes) between 2
consecutive PMD Auto Load Balancing iterations.
constraints:
- allowed_pattern: "[0-9]*"
type: string
default: ""
tags:
- role_specific
OvsDisableEMC:
default: false
description: |
@ -134,6 +171,9 @@ resources:
revalidator: OvsRevalidatorCores
handler: OvsHandlerCores
pmd_auto_lb: OvsPmdAutoLb
pmd_load_threshold: OvsPmdLoadThreshold
pmd_improvement_threshold: OvsPmdImprovementThreshold
pmd_rebal_interval: OvsPmdRebalInterval
- values: {get_param: [RoleParameters]}
- values:
OvsDpdkCoreList: {get_param: OvsDpdkCoreList}
@ -146,6 +186,9 @@ resources:
OvsRevalidatorCores: {get_param: OvsRevalidatorCores}
OvsHandlerCores: {get_param: OvsHandlerCores}
OvsPmdAutoLb: {get_param: OvsPmdAutoLb}
OvsPmdLoadThreshold: {get_param: OvsPmdLoadThreshold}
OvsPmdImprovementThreshold: {get_param: OvsPmdImprovementThreshold}
OvsPmdRebalInterval: {get_param: OvsPmdRebalInterval}
BootParams:
type: ./../kernel/kernel-boot-params-baremetal-ansible.yaml
@ -175,6 +218,9 @@ outputs:
tripleo_ovs_dpdk_revalidator_cores: {get_attr: [RoleParametersDpdk, value, revalidator]}
tripleo_ovs_dpdk_handler_cores: {get_attr: [RoleParametersDpdk, value, handler]}
tripleo_ovs_dpdk_pmd_auto_lb: {get_attr: [RoleParametersDpdk, value, pmd_auto_lb]}
tripleo_ovs_dpdk_pmd_load_threshold: {get_attr: [RoleParametersDpdk, value, pmd_load_threshold]}
tripleo_ovs_dpdk_pmd_improvement_threshold: {get_attr: [RoleParametersDpdk, value, pmd_improvement_threshold]}
tripleo_ovs_dpdk_pmd_rebal_interval: {get_attr: [RoleParametersDpdk, value, pmd_rebal_interval]}
tripleo_ovs_dpdk_emc_insertion_probablity:
if:
- {get_param: OvsDisableEMC}

View File

@ -0,0 +1,7 @@
---
features:
- Add support for OVS DPDK pmd auto balance parameters.
This feature adds 3 new role specific THT parameters to set
pmd-auto-lb-load-threshold, pmd-auto-lb-improvement-threshold,
and pmd-auto-lb-rebal-interval in OVS through OvsPmdLoadThreshold,
OvsPmdImprovementThreshold and OvsPmdRebalInterval respectively.