forked from fenrus75/powertop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
149 lines (105 loc) · 4.46 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
Building & Installing PowerTOP
------------------------------
To build and install PowerTOP type the following commands,
./configure
./make
./make install
Note: For Android (running Intel Architecture ) there is a Android.mk
that was provided by community members, and at this time is supported
mostly by community members.
Build dependencies
------------------
PowerTOP uses C++, and expects g++ and libstdc++ to be functional
along with a glibc/pthreadsi, autoconf, automake, and libtool in the
development environment.
in addition to that, PowerTOP requires the following components:
pciutils-devel (is only required if you have PCI)
ncurses-devel (required)
libnl-devel (required)
kernel version => 2.6.38
Build PowerTop for Android LollyPop
------------------------------------
1. Obtain pciutils and ncurses libraries.
Skip this step if they are already in the tree.
pciutils: Clone
https://github.com/trevd/android_external_pciutils
into external/pciutils
ncurses: Clone
https://github.com/cvpcs/android_external_libncurses
into external/ncurses
2. Run
./src/csstoh.sh src/powertop.css src/css.h
to generate the css.h header file.
3. Apply patches inside patches/Android
4. PowerTop can be built with top level make,
or by doing "mm".
The resulting binary is under $ANDROID_PRODUCT_OUT/system/bin/powertop
Kernel Parameters:
------------------
PowerTOP needs some kernel config options enabled in order function properly.
As of linux-3.3.0 these are (list probably incomplete):
CONFIG_NO_HZ
CONFIG_HIGH_RES_TIMERS
CONFIG_HPET_TIMER
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_USB_SUSPEND
CONFIG_SND_AC97_POWER_SAVE
CONFIG_TIMER_STATS
CONFIG_PERF_EVENTS
CONFIG_PERF_COUNTERS
CONFIG_TRACEPOINTS
CONFIG_TRACING
CONFIG_EVENT_POWER_TRACING_DEPRECATED
CONFIG_X86_MSR
ACPI_PROCFS_POWER
CONFIG_DEBUG_FS
Use these configs from linux-3.13.rc1
CONFIG_POWERCAP
CONFIG_INTEL_RAPL
The patches in the patches/ sub-directory are required for PowerTOP to function
fully.
Outputting a report
-------------------
When invoking PowerTOP without arguments, PowerTOP starts in interactive mode.
However, for reporting bugs etc there is a special reporting modes:
For an HTML formatted report simply execute PowerTOP with the following,
powertop --html
which will create a "powertop.html" file which is static and can be sent to
others to help diagnose power issues. Additionally has the feature of showing
the tunables executions within the report as a reference.
Note for the developers: If you make changes on the report format please
make sure that the output can be cleanly validated by the W3C Markup
Validation Service and W3C CSS Validation Service:
* http://validator.w3.org/#validate_by_upload
* http://jigsaw.w3.org/css-validator/#validate_by_upload
For a CSV formatted report, simply execute PowerTOP with the following,
Powertop --csv
which will create a “powertop.csv” file which is static and can be used in
reporting, diagnoses, and analytical data analysis.
Also you can set the number of iterations, and duration of test, in which case
all reports will time stamp for you.
Calibrating & Power Numbers
---------------------------
PowerTOP will, when running on battery, track your power consumption as well
as your activity on the system. Once there are sufficient such measurements,
PowerTOP can start to report power estimates for various activities.
You can help get this estimation more accurate by running a calibration
cycle:
powertop --calibrate
at least once; this will cycle through various display brightness levels
(including "off") as well as USB device activities and some other workloads.
Code from other open source projects
------------------------------------
PowerTOP contains some code from other open source projects; we'd like to
thank the authors of those projects for their work.
Specifically PowerTOP contains code from
Parse Event Library - Copyright 2009, 2010 Red Hat Inc Steven Rosted <[email protected]>
nl80211 userspace tool - Copyright 2007, 2008 Johannes Berg <[email protected]>
Extech Power Analyzer / Datalogger support
------------------------------------------
I use, and our analysis teams use, the Extech Power Analyzer/Datalogger
(model number 380803) quite a lot, and PowerTOP supports using this
device over the serial cable. Just pass the device node on the command line
like this
powertop --extech=/dev/ttyUSB0
(where ttyUSB0 is the devicenode of the serial-to-usb adapter on my system)