Re: [PATCH v2 0/4] tools/thermal: thermal library and tools

From: Daniel Lezcano
Date: Wed Apr 06 2022 - 13:06:36 EST


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.


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