No description
Find a file
Daniel Lezcano 755113d767 thermal/debugfs: Add thermal cooling device debugfs information
The thermal framework does not have any debug information except a
sysfs stat which is a bit controversial. This one allocates big chunks
of memory for every cooling devices with a high number of states and
could represent on some systems in production several megabytes of
memory for just a portion of it. As the sysfs is limited to a page
size, the output is not exploitable with large data array and gets
truncated.

The patch provides the same information than sysfs except the
transitions are dynamically allocated, thus they won't show more
events than the ones which actually occurred. There is no longer a
size limitation and it opens the field for more debugging information
where the debugfs is designed for, not sysfs.

The thermal debugfs directory structure tries to stay consistent with
the sysfs one but in a very simplified way:

thermal/
 -- cooling_devices
    |-- 0
    |   |-- clear
    |   |-- time_in_state_ms
    |   |-- total_trans
    |   `-- trans_table
    |-- 1
    |   |-- clear
    |   |-- time_in_state_ms
    |   |-- total_trans
    |   `-- trans_table
    |-- 2
    |   |-- clear
    |   |-- time_in_state_ms
    |   |-- total_trans
    |   `-- trans_table
    |-- 3
    |   |-- clear
    |   |-- time_in_state_ms
    |   |-- total_trans
    |   `-- trans_table
    `-- 4
        |-- clear
        |-- time_in_state_ms
        |-- total_trans
        `-- trans_table

The content of the files in the cooling devices directory is the same
as the sysfs one except for the trans_table which has the following
format:

Transition	Hits
1->0      	246
0->1      	246
2->1      	632
1->2      	632
3->2      	98
2->3      	98

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
[ rjw: White space fixups, rebase ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2024-01-12 15:34:56 +01:00
arch - Ignore invalid x2APIC entries in order to not waste per-CPU data 2023-11-19 13:46:17 -08:00
block blk-mq: make sure active queue usage is held for bio_integrity_prep() 2023-11-13 08:52:52 -07:00
certs
crypto This push fixes a regression in ahash and hides the Kconfig sub-options for the jitter RNG. 2023-11-09 17:04:58 -08:00
Documentation dt-bindings: thermal: qcom-spmi-adc-tm5/hc: Clean up examples 2024-01-02 09:33:18 +01:00
drivers thermal/debugfs: Add thermal cooling device debugfs information 2024-01-12 15:34:56 +01:00
fs Bug fixes for 6.7-rc2: 2023-11-18 11:28:28 -08:00
include thermal/debugfs: Add thermal cooling device debugfs information 2024-01-12 15:34:56 +01:00
init
io_uring io_uring/fdinfo: remove need for sqpoll lock for thread/pid retrieval 2023-11-15 06:35:46 -07:00
ipc
kernel reboot: Introduce thermal_zone_device_critical_reboot() 2024-01-02 09:33:18 +01:00
lib Zstd fixes for v6.7 2023-11-14 23:35:31 -05:00
LICENSES
mm mm: more ptep_get() conversion 2023-11-15 15:30:09 -08:00
net netfilter pull request 23-11-15 2023-11-16 11:02:52 +01:00
rust Kbuild updates for v6.7 2023-11-04 08:07:19 -10:00
samples
scripts Kbuild fixes for v6.7 2023-11-19 13:54:28 -08:00
security
sound sound fixes for 6.7-rc2 2023-11-17 09:05:31 -05:00
tools tools/thermal/tmon: Fix compilation warning for wrong format 2024-01-02 09:33:19 +01:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS - Ignore invalid x2APIC entries in order to not waste per-CPU data 2023-11-19 13:46:17 -08:00
Makefile Linux 6.7-rc2 2023-11-19 15:02:14 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.