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

From: srinivas pandruvada
Date: Wed Apr 13 2022 - 13:21:52 EST


On Wed, 2022-04-13 at 17:06 +0200, Rafael J. Wysocki wrote:
> 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?
>
I will provide by the end of this week.

Thanks,
Srinivas


> >
> > > >
> > > > 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