Lines Matching +full:power +full:- +full:up +full:- +full:delay +full:- +full:ms

8    pm-graph: suspend/resume/boot timing analysis tools
11 …Home Page: https://www.intel.com/content/www/us/en/developer/topic-technology/open/pm-graph/overvi…
13 Report bugs/issues at bugzilla.kernel.org Tools/pm-graph
14 - https://bugzilla.kernel.org/buglist.cgi?component=pm-graph&product=Tools
17 - Getting Started:
20 - Feature Summary:
21 https://www.intel.com/content/www/us/en/developer/topic-technology/open/pm-graph/features.html
23 - upstream version in git:
24 git clone https://github.com/intel/pm-graph/
27 - Overview
28 - Setup
29 - Usage
30 - Basic Usage
31 - Dev Mode Usage
32 - Proc Mode Usage
33 - Endurance Testing
34 - Usage Examples
35 - Configuration Files
36 - Usage Examples
37 - Config File Options
38 - Custom Timeline Entries
39 - Adding/Editing Timeline Functions
40 - Adding/Editing Dev Timeline Source Functions
41 - Verifying your Custom Functions
42 - Testing on consumer linux Operating Systems
43 - Android
45 ------------------------------------------------------------------
47 ------------------------------------------------------------------
56 ------------------------------------------------------------------
58 ------------------------------------------------------------------
61 - runs with python2 or python3, choice is made by /usr/bin/python link
62 - python
63 - python-configparser (for python2 sleepgraph)
64 - python-requests (for stresstester.py)
65 - linux-tools-common (for turbostat usage in sleepgraph)
68 sudo apt-get install python python-configparser python-requests linux-tools-common
71 sudo dnf install python python-configparser python-requests linux-tools-common
75 $> git clone http://github.com/intel/pm-graph.git
76 $> cd pm-graph
97 (kernel/pre-3.15/enable_trace_events_suspend_resume.patch)
98 (kernel/pre-3.15/enable_trace_events_device_pm_callback.patch)
105 If you're using a kernel older than 3.11-rc2, the following simple
107 in file: kernel/power/suspend.c
113 (kernel/pre-3.11-rc2/enable_ftrace_in_suspendresume.patch)
117 ------------------------------------------------------------------
119 ------------------------------------------------------------------
126 2) Open up a terminal window and execute the mode list command:
128 %> sudo ./sleepgraph.py -modes
131 Execute a test using one of the available power modes, e.g. mem (S3):
133 %> sudo ./sleepgraph.py -m mem -rtcwake 15
137 %> sudo ./sleepgraph.py -config config/suspend.cfg
139 When the system comes back you'll see the script finishing up and
141 files in subdirectory: suspend-mmddyy-HHMMSS. The ftrace file can
155 The tool sets kprobes on all delay and mutex calls to see which devices
159 The tool will also expose kernel threads that don't normally show up in the
166 to set the -mindev option to clip out any device blocks that are too small
169 %> sudo ./sleepgraph.py -m mem -rtcwake 15 -mindev 1 -dev
173 %> sudo ./sleepgraph.py -config config/suspend-dev.cfg
184 In order to see any process info, there needs to be some delay before or
187 can also be useful to run in x2 mode with an x2 delay, this way you can
193 %> sudo ./sleepgraph.py -m mem -rtcwake 15 -x2 -x2delay 1000 -predelay 1000 -postdelay 1000 -proc
197 %> sudo ./sleepgraph.py -config config/suspend-proc.cfg
199 ------------------------------------------------------------------
201 ------------------------------------------------------------------
205 accomplished with sleepgraph's -multi argument. You specify two numbers: the
207 delay in seconds between them. For instance, -multi 20 5: execute 20 tests with
208 a 5 second delay between each, or -multi 24h 0: execute tests over a 24 hour
209 period with no delay between tests. You can include any other options you like
216 summary-issue.html and summary-devices.html files include data taken from
219 suspend-xN-{date}-{time}:
221 summary-issues.html
222 summary-devices.html
223 suspend-{date}-{time} (1)
224 suspend-{date}-{time} (2)
229 -m mode
232 -rtcwake t
235 -gzip (optional)
239 -dev (optional)
242 -multi n d
244 created in a new subdirectory: suspend-xN-{date}-{time}. When the multitest
245 run is done, the -summary command is called automatically to create summary
246 html files for all the data (unless you use -skiphtml). -skiphtml will
247 speed up the testing by not creating timelines or summary html files. You
248 can then run the tool again at a later time with -summary and -genhtml to
251 -skiphtml (optional)
253 html generation. This can greatly speed up overall testing. You can then
254 copy the data to a faster host machine and run -summary -genhtml to
259 -summary indir
260 Generate or regenerate the summary for a -multi test run. Creates three
261 files: summary.html, summary-issues.html, and summary-devices.html in the
263 by kernel/host/mode, and links to the test html files. summary-issues.html
265 summary-devices.html is a list of devices and times from all the tests.
267 -genhtml
268 Used with -summary to regenerate any missing html timelines from their
277 %> sudo ./sleepgraph.py -m mem -rtcwake 10 -dev -gzip -multi 2000 0
279 or you can skip timeline generation in order to speed things up
281 %> sudo ./sleepgraph.py -m mem -rtcwake 10 -dev -gzip -multi 2000 0 -skiphtml
285 depending on whether you used the -skiphtml option. The root folder contains
290 %> cd suspend-x2000-{date}-{time}
291 %> sleepgraph.py -summary .
293 or if you need to generate the html timelines you can use -genhtml
295 %> cd suspend-xN-{date}-{time}
296 %> sleepgraph.py -summary . -genhtml
298 ------------------------------------------------------------------
300 ------------------------------------------------------------------
304 There are corresponding configs for other power modes:
312 config/suspend-dev.cfg
313 config/freeze-dev.cfg
314 config/standby-dev.cfg
317 config/suspend-callgraph.cfg
318 config/freeze-callgraph.cfg
319 config/standby-callgraph.cfg
322 config/suspend-x2-proc.cfg
325 config/custom-timeline-functions.cfg
328 config/debug-serio-suspend.cfg
335 %> sudo ./sleepgraph.py -config config/suspend.cfg
338 %> sudo ./sleepgraph.py -config config/suspend-callgraph.cfg
341 %> sudo ./sleepgraph.py -config config/suspend-dev.cfg
356 output-dir: suspend-{hostname}-{date}-{time}
368 command: echo mem > /sys/power/state
379 # x2 Suspend Delay: time delay between the two test runs in ms (def: 0 ms)
382 # Pre Suspend Delay: nclude an N ms delay before (1st) suspend (def: 0 ms)
385 # Post Resume Delay: include an N ms delay after (last) resume (def: 0 ms)
388 # Min Device Length: graph only dev callbacks longer than min (def: 0.001 ms)
394 # Expand Callgraph: pre-expand the callgraph treeviews in html (def: false)
397 # Min Callgraph Length: show callgraphs only if longer than min (def: 1 ms)
400 # Timestamp Precision: number of sig digits in timestamps (0:S, [3:ms], 6:us)
409 override-timeline-functions: true
414 override-dev-timeline-functions: true
418 callloop-maxgap: 0.0001
421 # merge loops of the same call if each is less than maxlen in length (def: 5ms)
422 callloop-maxlen: 0.005
424 ------------------------------------------------------------------
426 ------------------------------------------------------------------
443 Use the override-timeline-functions option if you only want to use your
449 can include up to four pieces of info: The function name, a format string,
452 For a full example config, see config/custom-timeline-functions.cfg. It pulls
463 minimum required for an entry, it will show up as the function
507 the functions that add a hardcoded time delay to the suspend/resume path.
517 Use the override-dev-timeline-functions option if you only want to use your
523 architecture's registers and stack formatting. Each entry can include up
527 For a full example config, see config/custom-timeline-functions.cfg. It pulls
545 and the -status option. The tool will go through all the kprobes (both
550 tool, they just wont show up.
554 sudo ./sleepgraph.py -config config/custom-timeline-functions.cfg -status
558 is "mem" a valid power mode: YES
586 ------------------------------------------------------------------
588 ------------------------------------------------------------------
601 host%> wget https://raw.githubusercontent.com/intel/pm-graph/master/tools/android.sh
613 kernel : 3.14.0-i386-dirty
627 # so you have to press some keys first to wake it up b4 suspend)
629 ------------------------------------
631 ------------------------------------
633 kernel : 3.14.0-i386-dirty
638 ------------------------------------
647 # reconnect sometimes in order for the connection to work post-suspend
658 host%> sleepgraph.py -ftrace ftrace.txt