From fd280ee8826bc8550aec5eb53ebdce86ec395b36 Mon Sep 17 00:00:00 2001 From: Ngairangbam Mili Date: Thu, 30 May 2024 07:31:27 +0000 Subject: [PATCH] Uprev Platform App - app-kubernetes-power-manager Story: 2011069 Task: 49755 Change-Id: Ic81425411796b2a98dc32302a9d7e86063eb82be Signed-off-by: Ngairangbam Mili --- ...onfigurable-power-manager-04c24b536696.rst | 158 ++++++++++-------- 1 file changed, 87 insertions(+), 71 deletions(-) diff --git a/doc/source/node_management/kubernetes/configurable-power-manager-04c24b536696.rst b/doc/source/node_management/kubernetes/configurable-power-manager-04c24b536696.rst index 8f60a6bc3..468371438 100644 --- a/doc/source/node_management/kubernetes/configurable-power-manager-04c24b536696.rst +++ b/doc/source/node_management/kubernetes/configurable-power-manager-04c24b536696.rst @@ -81,12 +81,18 @@ application. intel-power-operator * - Role - operator-custom-resource-definitions-role + * - RoleBinding + - operator-custom-resource-definitions-role-binding * - Cluster Role - operator-nodes manager-role node-agent-cluster-resources + * - Cluster Role Binding + - operator-nodes-binding + + node-agent-cluster-resources-binding * - Custom Resource Definition - cstates.power.intel.com @@ -220,8 +226,7 @@ and select all CPU cores available except the platform cores that use the .. note:: - The CPU p-state of the platform cores will not be managed by Power Manager - and will continue to use the settings defined as tuned. + The CPU p-state of the platform cores is managed by the use of the ``reservedProfile`` parameter. .. rubric:: **Node Agent Pod** @@ -280,6 +285,9 @@ min: reservedCPUs: List of CPU cores to not apply the profile (platform cores) +reservedProfile: + The profile to apply to platform cores + .. rubric:: **c-states Profile [section cstatesProfile]:** sharedPoolCStates: @@ -288,11 +296,11 @@ sharedPoolCStates: individualCoreCStates: List of all platform CPU cores: - - setList of CPU c-states for each application core and their status (on/off) + - List of CPU c-states for each application core and their status (on/off) -See the example below to to configure host controller-0. This setting will +See the example below to configure host controller-0. This setting will override the CPU governor and maximum CPU frequency in Shared Profile and -disable C2 state for the platform cores (0,32) and enable C2 state for all +disable C6 state for the platform cores (0,96) and enable C6 state for all application cores through the c-state Profile. .. code-block:: none @@ -306,11 +314,11 @@ application cores through the c-state Profile. controller-0: individualCoreCStates: "0": - C2: false - "32": - C2: false + C6: false + "96": + C6: false sharedPoolCStates: - C2: true + C6: true Applying these ``user_overrides`` will generate a new configuration (``combined_overrides``) by merging and overriding the auto-generated @@ -323,62 +331,70 @@ in the ``system_overrides`` section and the user configuration in (keystone_admin)]$ system helm-override-show kubernetes-power-manager kubernetes-power-manager intel-power - +--------------------+--------------------------------------------------------------------+ - | Property | Value | - +--------------------+--------------------------------------------------------------------+ - | attributes | enabled: true | - | | | - | combined_overrides | cstatesProfile: | - | | controller-0: | - | | individualCoreCStates: | - | | "0": | - | | C1: true | - | | C2: false | - | | "32": | - | | C1: true | - | | C2: false | - | | sharedPoolCStates: | - | | C1: true | - | | C2: true | - | | sharedProfile: | - | | controller-0: | - | | governor: powersave | - | | max: 2000 | - | | min: 800 | - | | reservedCPUs: | - | | - 0 | - | | - 32 | - | | | - | name | kubernetes-power-manager | - | namespace | intel-power | - | system_overrides | cstatesProfile: | - | | controller-0: | - | | individualCoreCStates: | - | | '0': {C1: true, C2: true} | - | | '32': {C1: true, C2: true} | - | | sharedPoolCStates: {C1: true, C2: false} | - | | sharedProfile: | - | | controller-0: | - | | governor: performance | - | | max: 3000 | - | | min: 800 | - | | reservedCPUs: [0, 96] | - | | | - | user_overrides | cstatesProfile: | - | | controller-0: | - | | individualCoreCStates: | - | | "0": | - | | C2: false | - | | "32": | - | | C2: false | - | | sharedPoolCStates: | - | | C2: true | - | | sharedProfile: | - | | controller-0: | - | | governor: powersave | - | | max: 2000 | - | | | - +--------------------+--------------------------------------------------------------------+ + +--------------------+---------------------------------------------------------------------+ + | Property | Value | + +--------------------+---------------------------------------------------------------------+ + | attributes | enabled: true | + | | | + | combined_overrides | cstatesProfile: | + | | controller-0: | + | | individualCoreCStates: | + | | "0": | + | | C1: true | + | | C1E: true | + | | C6: false | + | | C6: false | + | | POLL: true | + | | "96": | + | | C1: true | + | | C1E: true | + | | C6: false | + | | POLL: true | + | | sharedPoolCStates: | + | | C1: true | + | | C1E: false | + | | C6: true | + | | POLL: true | + | | sharedProfile | + | | controller-0: | + | | governor: powersave | + | | max: 2000 | + | | min: 800 | + | | reservedCPUs: '[0, 96]' | + | | reservedProfile: performance | + | | shared: true | + | | | + | | | + | name | kubernetes-power-manager | + | namespace | intel-power | + | system_overrides | cstatesProfile: | + | | controller-0: | + | | individualCoreCStates: | + | | '0': {C1: true, C1E: true, C6: true, POLL: true} | + | | '96': {C1: true, C1E: true, C6: true, POLL: true} | + | | sharedPoolCStates: {C1: true, C1E: false, C6: false, POLL: true}| + | | sharedProfile: | + | | controller-0: | + | | governor: performance | + | | max: 3000 | + | | min: 800 | + | | reservedCPUs: [0, 96] | + | | reservedProfile: performance, shared: true} | + | user_overrides | cstatesProfile: | + | | controller-0: | + | | individualCoreCStates: | + | | "0": | + | | C6: false | + | | "96": | + | | C6: false | + | | sharedPoolCStates: | + | | C6: true | + | | sharedProfile: | + | | controller-0: | + | | governor: powersave | + | | max: 2000 | + | | | + +--------------------+---------------------------------------------------------------------+ This final configuration will be published into Kubernetes as a Shared Profile and c-state Profile when you reapply the application. @@ -396,20 +412,20 @@ including c-states for performance profile: sharedProfile: controller-0: governor: powersave - max: 2000 + max: 2000 cstatesProfile: controller-0: individualCoreCStates: "0": - C2: false - "32": - C2: false + C6: false + "96": + C6: false sharedPoolCStates: - C2: true + C6: true exclusivePoolCstates: performance: - C2: true + C6: true There are other features available in the Power Manager, such as Uncore