This patch series adds idle-state functionality to control cpu power usage and to test idle states. The number of cpus was needed in the cpupower file; I extracted out the previously local to tuna-cli.py functionality to a separate file so the cpu code can be used in any file in Tuna and reduce duplications. The nics code was similar so it was also extracted to reduce the number of global variables. Sincerely, John Wyatt Software Engineer, Core Kernel Red Hat Changes v2 -> v3: - Several small improvements suggested by John Kacur off list including removing unnecessary string interpolation, renaming idle-set to idle_set, and correct placement of docstrings. Changes v1 -> v2: - Numerous improvements suggested by Crystal Wood including message text, output, error handling, moving a function to utils.py and structure of the code. - Fixed a libcpupower bindings detection error that did not show on my local machine but did on a fresh install of Fedora GNOME 40 reported by John Kacur. John B. Wyatt IV (2): tuna: extract common cpu and nics determination code into a utils.py file tuna: Add idle_state control functionality tuna-cmd.py | 64 +++++++++-------- tuna/cpupower.py | 184 +++++++++++++++++++++++++++++++++++++++++++++++ tuna/utils.py | 28 ++++++++ 3 files changed, 246 insertions(+), 30 deletions(-) create mode 100755 tuna/cpupower.py create mode 100644 tuna/utils.py -- 2.48.1