linux/tools/power/cpupower
Hao Zeng e652be0f59 cpupower:Fix resource leaks in sysfs_get_enabled()
The sysfs_get_enabled() opened file processor not closed,
may cause a file handle leak.
Putting error handling and resource cleanup code together
makes the code easy to maintain and read.
Removed the unnecessary else if branch from the original
function, as it should return an error in cases other than '0'.

Signed-off-by: Hao Zeng <zenghao@kylinos.cn>
Suggested-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2023-05-08 08:11:24 -06:00
..
bench cpupower: add Makefile dependencies for install targets 2021-01-05 11:29:27 -07:00
debug treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_385.RULE 2022-06-10 14:51:36 +02:00
lib cpupower:Fix resource leaks in sysfs_get_enabled() 2023-05-08 08:11:24 -06:00
man cpupower: Introduce powercap intel-rapl library and powercap-info command 2022-11-30 16:48:28 -07:00
po cpupower: Add Georgian translation 2022-11-30 16:32:34 -07:00
utils cpupower: rapl monitor - shows the used power consumption in uj for each rapl domain 2022-11-30 16:48:34 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
cpupower-completion.sh cpupower : Auto-completion for cpupower tool 2018-12-05 07:52:45 -07:00
Makefile cpupower: rapl monitor - shows the used power consumption in uj for each rapl domain 2022-11-30 16:48:34 -07:00
README cpupower: Remove dead link to homepage, and update the targets built. 2014-05-17 00:36:36 +02:00
TODO tools/power/cpupower/{ToDo => TODO}: Rename the todo file 2022-01-24 09:07:11 -07:00

The cpupower package consists of the following elements:

requirements
------------

On x86 pciutils is needed at runtime (-lpci).
For compilation pciutils-devel (pci/pci.h) and a gcc version
providing cpuid.h is needed.
For both it's not explicitly checked for (yet).


libcpupower
----------

"libcpupower" is a library which offers a unified access method for userspace
tools and programs to the cpufreq core and drivers in the Linux kernel. This
allows for code reduction in userspace tools, a clean implementation of
the interaction to the cpufreq core, and support for both the sysfs and proc
interfaces [depending on configuration, see below].


compilation and installation
----------------------------

make
su
make install

should suffice on most systems. It builds libcpupower to put in
/usr/lib; cpupower, cpufreq-bench_plot.sh to put in /usr/bin; and
cpufreq-bench to put in /usr/sbin. If you want to set up the paths
differently and/or want to configure the package to your specific
needs, you need to open "Makefile" with an editor of your choice and
edit the block marked CONFIGURATION.


THANKS
------
Many thanks to Mattia Dongili who wrote the autotoolization and
libtoolization, the manpages and the italian language file for cpupower;
to Dave Jones for his feedback and his dump_psb tool; to Bruno Ducrot for his
powernow-k8-decode and intel_gsic tools as well as the french language file;
and to various others commenting on the previous (pre-)releases of 
cpupower.


        Dominik Brodowski