redhat-performance / tuned

Tuning Profile Delivery Mechanism for Linux
GNU General Public License v2.0
755 stars 171 forks source link

Add a plugin for the ACPI driver #573

Closed zacikpa closed 5 months ago

zacikpa commented 7 months ago

Resolves: RHEL-16966

This PR enables explicit support of ACPI platform_profile option, which was previously only supported via the generic sysfs plugin.

Appropriate values of the platform_profile option were also added to basic profiles - balanced, powersave and *-performance.

When ACPI platform profile is not supported by the system and a profile contains the platform_profile option, tuning verification fails unless --ignore-missing is turned on. @yarda, please confirm whether this is the desired behavior - especially since the option is being added to the stock profiles.

I'm also thinking of refactoring all @command_set functions, which accept alternative values separated by |. There are currently at least 4 of them, and there is a lot of unnecessary code duplication. That, would, however, be done in a separate PR.

yarda commented 7 months ago

I think the behavior of ignore-missing is OK. It seems many people already run it in this mode and we have never guaranteed that we won't add more platform specific features to the stock profiles. Maybe we could add global configuration option for it.

zacikpa commented 7 months ago

I updated the docs with information about the new plugin as well.

zacikpa commented 5 months ago

Updated, rebased, squished. The pipeline error is unrelated to the change.

yarda commented 5 months ago

Thanks LGTM.

The rawhide CI failure is probably caused by some temporal breakage in rawhide:

Error: 
 Problem: package tuned-utils-systemtap-2.21.0-1.20240122103218878382.pr573.34.g9b72d69.fc40.noarch from @commandline requires /usr/bin/stap, but none of the providers can be installed
  - conflicting requests
  - nothing provides libboost_system.so.1.81.0()(64bit) needed by systemtap-client-5.0~pre16958465gca71442b-1.fc40.x86_64 from testing-farm-tag-repository
  - nothing provides libboost_system.so.1.81.0()(64bit) needed by systemtap-devel-5.0~pre16958465gca71442b-1.fc40.x86_64 from testing-farm-tag-repository
  - nothing provides libboost_system.so.1.81.0()(64bit) needed by systemtap-client-5.0~pre16958465gca71442b-1.fc40.x86_64 from rawhide
  - nothing provides libboost_system.so.1.81.0 needed by systemtap-devel-5.0~pre16958465gca71442b-1.fc40.i686 from rawhide
  - nothing provides libboost_system.so.1.81.0()(64bit) needed by systemtap-devel-5.0~pre16958465gca71442b-1.fc40.x86_64 from rawhide

It seems /usr/bin/stap is still provided by systemtap-client-5.1-17056139g6c0b92b3, thus ignoring this failure.