lkml.org 
[lkml]   [2022]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/4] tools/thermal: thermal library and tools
Date
These changes are providing the following tools and library:

- A thermal library doing the netlink abstraction from the kernel in
order to make the userspace thermal implementation easier. Having
the library integrated with the kernel tree is also a guarantee to
keep the message format and their encoding/decoding aligned

- A thermal tools library providing a set of functions to deal with
usual features like the log, the mainloop and the time. This
library is used by the provided tools below

- An data acquisition program to capture the temperature of the
different thermal zone during an amount of time or during the
execution of an application. The output is formated to be easily
parsed by gnuplot, a spreadsheet program or a statistical command
line utility. The timestamp is based on the system uptime, thus
giving an indication of when a thermal event happened, that can
help to spot or reproduce thermal issue in the long run

- A thermal monitoring program based on the thermal library. It gives
a skeleton to build any logic on top of it and shows how to use the
thermal library. It does nothing except discovering the thermal
zones, their trip points and listening for events like cooling
devices state changes or trip point crossed

Changelog:

v1: Initial post after a RFC

v2:

- Fixed all trailing whitespaces and some other checkpatch
warnings. Some warnings remain but they can be considered as false
positive

- Added in the thermometer tool:
- Usage/help option as well as a man page
- The ability to execute a program
- The capture duration
- Create the output directory if it does not exist

- Add in the thermal-engine tool:
- A usage/help option
- A message telling the userspace it is waiting for events
- A daemonize option

- Minor bug fixes here and there, as well as typos

Daniel Lezcano (4):
tools/lib/thermal: Add a thermal library
tools/thermal: Add util library
tools/thermal: A temperature capture tool
tools/thermal: Add thermal daemon skeleton

MAINTAINERS | 1 +
tools/Makefile | 36 +-
tools/lib/thermal/.gitignore | 2 +
tools/lib/thermal/Build | 5 +
tools/lib/thermal/Makefile | 165 ++++++
tools/lib/thermal/commands.c | 349 +++++++++++
tools/lib/thermal/events.c | 164 +++++
tools/lib/thermal/include/thermal.h | 142 +++++
tools/lib/thermal/libthermal.map | 25 +
tools/lib/thermal/libthermal.pc.template | 12 +
tools/lib/thermal/sampling.c | 75 +++
tools/lib/thermal/thermal.c | 126 ++++
tools/lib/thermal/thermal_nl.c | 215 +++++++
tools/lib/thermal/thermal_nl.h | 46 ++
tools/thermal/lib/Build | 3 +
tools/thermal/lib/Makefile | 158 +++++
.../thermal/lib/libthermal_tools.pc.template | 12 +
tools/thermal/lib/log.c | 77 +++
tools/thermal/lib/log.h | 31 +
tools/thermal/lib/mainloop.c | 120 ++++
tools/thermal/lib/mainloop.h | 15 +
tools/thermal/lib/thermal-tools.h | 10 +
tools/thermal/lib/uptimeofday.c | 40 ++
tools/thermal/lib/uptimeofday.h | 12 +
tools/thermal/thermal-engine/Build | 2 +
tools/thermal/thermal-engine/Makefile | 28 +
tools/thermal/thermal-engine/thermal-engine.c | 326 ++++++++++
tools/thermal/thermometer/Build | 2 +
tools/thermal/thermometer/Makefile | 26 +
tools/thermal/thermometer/thermometer.8 | 93 +++
tools/thermal/thermometer/thermometer.c | 558 ++++++++++++++++++
tools/thermal/thermometer/thermometer.conf | 5 +
32 files changed, 2878 insertions(+), 3 deletions(-)
create mode 100644 tools/lib/thermal/.gitignore
create mode 100644 tools/lib/thermal/Build
create mode 100644 tools/lib/thermal/Makefile
create mode 100644 tools/lib/thermal/commands.c
create mode 100644 tools/lib/thermal/events.c
create mode 100644 tools/lib/thermal/include/thermal.h
create mode 100644 tools/lib/thermal/libthermal.map
create mode 100644 tools/lib/thermal/libthermal.pc.template
create mode 100644 tools/lib/thermal/sampling.c
create mode 100644 tools/lib/thermal/thermal.c
create mode 100644 tools/lib/thermal/thermal_nl.c
create mode 100644 tools/lib/thermal/thermal_nl.h
create mode 100644 tools/thermal/lib/Build
create mode 100644 tools/thermal/lib/Makefile
create mode 100644 tools/thermal/lib/libthermal_tools.pc.template
create mode 100644 tools/thermal/lib/log.c
create mode 100644 tools/thermal/lib/log.h
create mode 100644 tools/thermal/lib/mainloop.c
create mode 100644 tools/thermal/lib/mainloop.h
create mode 100644 tools/thermal/lib/thermal-tools.h
create mode 100644 tools/thermal/lib/uptimeofday.c
create mode 100644 tools/thermal/lib/uptimeofday.h
create mode 100644 tools/thermal/thermal-engine/Build
create mode 100644 tools/thermal/thermal-engine/Makefile
create mode 100644 tools/thermal/thermal-engine/thermal-engine.c
create mode 100644 tools/thermal/thermometer/Build
create mode 100644 tools/thermal/thermometer/Makefile
create mode 100644 tools/thermal/thermometer/thermometer.8
create mode 100644 tools/thermal/thermometer/thermometer.c
create mode 100644 tools/thermal/thermometer/thermometer.conf

--
2.25.1

\
 
 \ /
  Last update: 2022-03-30 12:05    [W:0.083 / U:0.880 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site