kernel_optimize_test/tools/thermal/tmon
Thomas Gleixner cd5e85f52d treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 89
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 or
  later as published by the free software foundation this program is
  distributed in the hope that it will be useful but without any
  warranty without even the implied warranty of merchantability or
  fitness for a particular purpose see the gnu general public license
  for more details

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 6 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190520075211.856638608@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-24 17:37:52 +02:00
..
.gitignore tools/thermal: tmon: add .gitignore 2015-02-28 13:52:47 +08:00
Makefile tools thermal tmon: Use -O3 instead of -O1 if available 2019-01-04 12:54:49 -03:00
pid.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 89 2019-05-24 17:37:52 +02:00
README tools/thermal: Introduce tmon, a tool for thermal subsystem 2013-11-07 08:45:34 +08:00
sysfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 89 2019-05-24 17:37:52 +02:00
tmon.8 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tmon.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 89 2019-05-24 17:37:52 +02:00
tmon.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 89 2019-05-24 17:37:52 +02:00
tui.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 89 2019-05-24 17:37:52 +02:00

TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem

Why TMON?
==========
Increasingly, Linux is running on thermally constrained devices. The simple
thermal relationship between processor and fan has become past for modern
computers.

As hardware vendors cope with the thermal constraints on their products, more
and more sensors are added, new cooling capabilities are introduced. The
complexity of the thermal relationship can grow exponentially among cooling
devices, zones, sensors, and trip points. They can also change dynamically.

To expose such relationship to the userspace, Linux generic thermal layer
introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
links, trip point bindings, and device instances. To traverse such
matrix by hand is not a trivial task. Testing is also difficult in that
thermal conditions are often exception cases that hard to reach in
normal operations.

TMON is conceived as a tool to help visualize, tune, and test the
complex thermal subsystem.

Files
=====
	tmon.c : main function for set up and configurations.
	tui.c : handles ncurses based user interface
	sysfs.c : access to the generic thermal sysfs
	pid.c : a proportional-integral-derivative (PID) controller
	that can be used for thermal relationship training.

Requirements
============
Depends on ncurses

Build
=========
$ make
$ sudo ./tmon -h
Usage: tmon [OPTION...]
  -c, --control         cooling device in control
  -d, --daemon          run as daemon, no TUI
  -l, --log             log data to /var/tmp/tmon.log
  -h, --help            show this help message
  -t, --time-interval   set time interval for sampling
  -v, --version         show version
  -g, --debug           debug message in syslog

1. For monitoring only:
$ sudo ./tmon