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
(cherry picked from commit ec444622dc)
This commit is contained in:
yogananth subramanian 2021-05-08 17:41:30 +05:30
parent faa3fc74cf
commit c746dfa0ba
2 changed files with 53 additions and 0 deletions

View File

@ -97,6 +97,43 @@ parameters:
default: ""
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: |
@ -133,6 +170,9 @@ resources:
enable_tso: OvsDpdkEnableTSO
revalidator: OvsRevalidatorCores
handler: OvsHandlerCores
pmd_load_threshold: OvsPmdLoadThreshold
pmd_improvement_threshold: OvsPmdImprovementThreshold
pmd_rebal_interval: OvsPmdRebalInterval
- values: {get_param: [RoleParameters]}
- values:
OvsDpdkCoreList: {get_param: OvsDpdkCoreList}
@ -144,6 +184,9 @@ resources:
OvsDpdkEnableTSO: {get_param: OvsDpdkEnableTSO}
OvsRevalidatorCores: {get_param: OvsRevalidatorCores}
OvsHandlerCores: {get_param: OvsHandlerCores}
OvsPmdLoadThreshold: {get_param: OvsPmdLoadThreshold}
OvsPmdImprovementThreshold: {get_param: OvsPmdImprovementThreshold}
OvsPmdRebalInterval: {get_param: OvsPmdRebalInterval}
BootParams:
type: ./../kernel/kernel-boot-params-baremetal-ansible.yaml
@ -173,6 +216,9 @@ outputs:
tripleo_ovs_dpdk_socket_memory: {get_attr: [RoleParametersDpdk, value, socket_mem]}
tripleo_ovs_dpdk_revalidator_cores: {get_attr: [RoleParametersDpdk, value, revalidator]}
tripleo_ovs_dpdk_handler_cores: {get_attr: [RoleParametersDpdk, value, handler]}
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:
- emc_disable

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.