- Feb 28, 2015
-
-
Brian Norris authored
The number of rows in the dialog vary according to the number of cooling devices. However, some of the windowing computations were assuming a fixed number of rows. This computation is OK when we have between 4 and 9 cooling devices (and they wrap to the next column), but with fewer devices, we end up printing off the end of the window. This unifies the row computation into a single function and uses that throughout the TUI code. This also accounts for increasing the number of rows when there are more than 9 total cooling devices. Signed-off-by:
Brian Norris <computersforpeace@gmail.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Reviewed-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-
Brian Norris authored
We can use the ncurses API to get the number of rows. Signed-off-by:
Brian Norris <computersforpeace@gmail.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Reviewed-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-
Brian Norris authored
Signed-off-by:
Brian Norris <computersforpeace@gmail.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Reviewed-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-
Brian Norris authored
If we launch in daemon mode (--daemon), we don't have the ncurses UI, but we might want to set the target temperature still. For example, someone might stick the following in their boot script: tmon --control intel_powerclamp --target-temp 90 --log --daemon This would turn on CPU idle injection when we're around 90 degrees celsius, and would log temperature and throttling info to /var/tmp/tmon.log. Signed-off-by:
Brian Norris <computersforpeace@gmail.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Reviewed-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-
- Dec 09, 2014
-
-
Arjun Sreedharan authored
The calloc() and xcalloc() functions takes @nmemb first and then @size. Fix all w/ pattern "calloc\s*(\s*sizeof". Signed-off-by:
Arjun Sreedharan <arjun024@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ingo Molnar <mingo@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1417866043-1877-1-git-send-email-arjun024@gmail.com Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com>
-
- Jul 01, 2014
-
-
Neil Horman authored
Currently, the tmon umask value is set to 0, which means whatever the permission mask in the shell are when starting tmon in daemon mode are what the permissions of any created files will be. We should likely set something more explicit, so lets go with the usual 022 Signed-off-by:
Neil Horman <nhorman@tuxdriver.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-
Neil Horman authored
The tmon logging system blindly opens its log file on a static path, making it very easy for someone to redirect that log information to inappropriate places or overwrite other users data. Do some easy checking to make sure we're not logging to a symlink or a file owned by another user. Signed-off-by:
Neil Horman <nhorman@tuxdriver.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-
Javi Merino authored
tmon fails to build statically with the following error: $ make LDFLAGS=-static gcc -O1 -Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int -fstack-protector -D VERSION=\"1.0\" -static tmon.o tui.o sysfs.o pid.o -o tmon -lm -lpanel -lncursesw -lpthread tmon.o: In function `tmon_sig_handler': tmon.c:(.text+0x21): undefined reference to `stdscr' tmon.o: In function `tmon_cleanup': tmon.c:(.text+0xb9): undefined reference to `stdscr' tmon.c:(.text+0x11e): undefined reference to `stdscr' tmon.c:(.text+0x123): undefined reference to `keypad' tmon.c:(.text+0x12d): undefined reference to `nocbreak' tmon.o: In function `main': tmon.c:(.text+0x785): undefined reference to `stdscr' tmon.c:(.text+0x78a): undefined reference to `nodelay' tui.o: In function `setup_windows': tui.c:(.text+0x131): undefined reference to `stdscr' tui.c:(.text+0x176): undefined reference to `stdscr' tui.c:(.text+0x19f): undefined reference to `stdscr' tui.c:(.text+0x1cc): undefined reference to `stdscr' tui.c:(.text+0x1ff): undefined reference to `stdscr' tui.o:tui.c:(.text+0x229): more undefined references to `stdscr' follow tui.o: In function `show_cooling_device': [...] stdscr() and friends are in libtinfo (part of ncurses) so add it to the libraries that are linked in when compiling tmon to fix it. Cc: Jacob Pan <jacob.jun.pan@linux.intel.com> Cc: Zhang Rui <rui.zhang@intel.com> Signed-off-by:
Javi Merino <javi.merino@arm.com> Acked-by:
Jacob Pan <jacob.jun.pan@linux.intel.com>
-
- Nov 07, 2013
-
-
Jacob Pan authored
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 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. Signed-off-by:
Jacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by:
Zhang Rui <rui.zhang@intel.com>
-