Re: [PATCH v2 0/4] tools/thermal: thermal library and tools
From: Rafael J. Wysocki
Date: Wed Apr 13 2022 - 11:06:20 EST
On Wed, Apr 6, 2022 at 4:44 PM Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:
>
> On 06/04/2022 16:28, srinivas pandruvada wrote:
> > Hi Daniel,
> >
> > On Wed, 2022-04-06 at 10:00 +0200, Daniel Lezcano wrote:
> >>
> >> Hi,
> >>
> >> if there is no comment for the series, shall I pick it so we can go
> >> forward ?
> > Didn't get time to check yet. It will still be for the next merge
> > window, correct?
>
> Right, but I would like to continue adding more features, scripts and
> tests. Iteratively.
Srinivas, if you can give this a go, please, it will help.
Otherwise, I think that all of your comments so far have been
addressed, or have I missed anything?
>
> >>
> >> On 30/03/2022 12:04, Daniel Lezcano wrote:
> >>> 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
> >>>
> >>
> >>
> >
> >
>
>
> --
> <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
> Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog