intel / kubernetes-power-manager

Apache License 2.0
83 stars 18 forks source link

Remove acpi-cpufreq scaling driver from the README as it is not supported #62

Closed bartwensley closed 9 months ago

bartwensley commented 1 year ago

The kubernetes power manager relies on the energy_performance_preference being available in order to configure p-states for each CPU. The energy_performance_preference is only available when the intel_pstate driver is running in the active mode with HWP (see https://www.kernel.org/doc/html/v6.5/admin-guide/pm/intel_pstate.html?highlight=energy_performance#energy-vs-performance-hints). Please update the README to indicate that the pre-requisite for kubernetes power manager is to have active mode with HWP configure (see https://www.kernel.org/doc/html/v6.5/admin-guide/pm/intel_pstate.html?highlight=energy_performance#active-mode-with-hwp) in both the BIOS and kernel cmdline (i.e. intel_pstate=active).

bartwensley commented 9 months ago

I re-tested this in a later version of kubernetes power manager (v2.3.1) and the issue has been fixed. When the energy_performance_preference is not present, powerprofiles can still be applied successfully - with the following log indicating that the EPP is not supported:

{"level":"error","ts":"2024-01-05T15:40:23Z","logger":"controllers.PowerProfile","msg":"invalid EPP","powerprofile":"intel-power/balance-performance","error":"EPP is not supported but balance-performance provides one, setting EPP to ''","stacktrace":"github.com/intel/kubernetes-power-manager/controllers.(*PowerProfileReconciler).Reconcile\n\t/workspace/controllers/powerprofile_controller.go:240\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:122\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:323\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:235"}