Back to home page

OSCL-LXR

 
 

    


0001 TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem
0002 
0003 Why TMON?
0004 ==========
0005 Increasingly, Linux is running on thermally constrained devices. The simple
0006 thermal relationship between processor and fan has become past for modern
0007 computers.
0008 
0009 As hardware vendors cope with the thermal constraints on their products, more
0010 and more sensors are added, new cooling capabilities are introduced. The
0011 complexity of the thermal relationship can grow exponentially among cooling
0012 devices, zones, sensors, and trip points. They can also change dynamically.
0013 
0014 To expose such relationship to the userspace, Linux generic thermal layer
0015 introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
0016 links, trip point bindings, and device instances. To traverse such
0017 matrix by hand is not a trivial task. Testing is also difficult in that
0018 thermal conditions are often exception cases that hard to reach in
0019 normal operations.
0020 
0021 TMON is conceived as a tool to help visualize, tune, and test the
0022 complex thermal subsystem.
0023 
0024 Files
0025 =====
0026         tmon.c : main function for set up and configurations.
0027         tui.c : handles ncurses based user interface
0028         sysfs.c : access to the generic thermal sysfs
0029         pid.c : a proportional-integral-derivative (PID) controller
0030         that can be used for thermal relationship training.
0031 
0032 Requirements
0033 ============
0034 Depends on ncurses
0035 
0036 Build
0037 =========
0038 $ make
0039 $ sudo ./tmon -h
0040 Usage: tmon [OPTION...]
0041   -c, --control         cooling device in control
0042   -d, --daemon          run as daemon, no TUI
0043   -l, --log             log data to /var/tmp/tmon.log
0044   -h, --help            show this help message
0045   -t, --time-interval   set time interval for sampling
0046   -v, --version         show version
0047   -g, --debug           debug message in syslog
0048 
0049 1. For monitoring only:
0050 $ sudo ./tmon