From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: daniel.lezcano@linaro.org, rafael@kernel.org
Cc: srinivas.pandruvada@linux.intel.com,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: [PATCH v2 0/4] tools/thermal: thermal library and tools
Date: Wed, 30 Mar 2022 12:04:40 +0200 [thread overview]
Message-ID: <20220330100444.3846661-1-daniel.lezcano@linaro.org> (raw)
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
next reply other threads:[~2022-03-30 10:04 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-30 10:04 Daniel Lezcano [this message]
2022-03-30 10:04 ` [PATCH v2 1/4] tools/lib/thermal: Add a thermal library Daniel Lezcano
2022-03-30 10:04 ` [PATCH v2 2/4] tools/thermal: Add util library Daniel Lezcano
2022-03-30 10:04 ` [PATCH v2 3/4] tools/thermal: A temperature capture tool Daniel Lezcano
2022-03-30 10:04 ` [PATCH v2 4/4] tools/thermal: Add thermal daemon skeleton Daniel Lezcano
2022-04-06 8:00 ` [PATCH v2 0/4] tools/thermal: thermal library and tools Daniel Lezcano
2022-04-06 14:28 ` srinivas pandruvada
2022-04-06 14:44 ` Daniel Lezcano
2022-04-13 15:06 ` Rafael J. Wysocki
2022-04-13 17:21 ` srinivas pandruvada
2022-04-16 3:50 ` srinivas pandruvada
2022-04-16 7:55 ` Daniel Lezcano
2022-04-17 4:23 ` srinivas pandruvada
2022-04-17 8:20 ` Daniel Lezcano
2022-04-18 3:36 ` srinivas pandruvada
2022-04-18 3:38 ` srinivas pandruvada
2022-04-18 7:46 ` Daniel Lezcano
2022-04-19 20:26 ` Daniel Lezcano
2022-04-20 3:16 ` srinivas pandruvada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220330100444.3846661-1-daniel.lezcano@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=srinivas.pandruvada@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).