diff options
author | Todd E Brandt <todd.e.brandt@linux.intel.com> | 2018-01-30 03:17:18 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-02-21 17:56:22 -0500 |
commit | a6fbdbb2b852c2208156f21747b270931fd0d427 (patch) | |
tree | 064ab37264d54e9139f910446e7d2b3c178c5ef6 | |
parent | 91ab883eb21325ad80f3473633f794c78ac87f51 (diff) |
pm-graph: config files and installer
- name change: analyze_boot.py to bootgraph.py
- name change: analyze_suspend.py to sleepgraph.py
- added config files for easier sleepgraph usage
- added example.cfg which describes all config options
- added cgskip.txt definition for slimmer callgraphs
Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | tools/power/pm-graph/Makefile | 29 | ||||
-rwxr-xr-x | tools/power/pm-graph/bootgraph.py (renamed from tools/power/pm-graph/analyze_boot.py) | 0 | ||||
-rw-r--r-- | tools/power/pm-graph/config/cgskip.txt | 65 | ||||
-rw-r--r-- | tools/power/pm-graph/config/custom-timeline-functions.cfg | 205 | ||||
-rw-r--r-- | tools/power/pm-graph/config/example.cfg | 133 | ||||
-rw-r--r-- | tools/power/pm-graph/config/freeze-callgraph.cfg | 94 | ||||
-rw-r--r-- | tools/power/pm-graph/config/freeze-dev.cfg | 93 | ||||
-rw-r--r-- | tools/power/pm-graph/config/freeze.cfg | 93 | ||||
-rw-r--r-- | tools/power/pm-graph/config/standby-callgraph.cfg | 94 | ||||
-rw-r--r-- | tools/power/pm-graph/config/standby-dev.cfg | 93 | ||||
-rw-r--r-- | tools/power/pm-graph/config/standby.cfg | 93 | ||||
-rw-r--r-- | tools/power/pm-graph/config/suspend-callgraph.cfg | 98 | ||||
-rw-r--r-- | tools/power/pm-graph/config/suspend-dev.cfg | 93 | ||||
-rw-r--r-- | tools/power/pm-graph/config/suspend-x2-proc.cfg | 93 | ||||
-rw-r--r-- | tools/power/pm-graph/config/suspend.cfg | 93 | ||||
-rwxr-xr-x | tools/power/pm-graph/sleepgraph.py (renamed from tools/power/pm-graph/analyze_suspend.py) | 0 |
16 files changed, 1362 insertions, 7 deletions
diff --git a/tools/power/pm-graph/Makefile b/tools/power/pm-graph/Makefile index 4e1e999e7b05..c1899cd72c80 100644 --- a/tools/power/pm-graph/Makefile +++ b/tools/power/pm-graph/Makefile | |||
@@ -7,11 +7,24 @@ all: | |||
7 | 7 | ||
8 | install : uninstall | 8 | install : uninstall |
9 | install -d $(DESTDIR)$(PREFIX)/lib/pm-graph | 9 | install -d $(DESTDIR)$(PREFIX)/lib/pm-graph |
10 | install analyze_suspend.py $(DESTDIR)$(PREFIX)/lib/pm-graph | 10 | install sleepgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph |
11 | install analyze_boot.py $(DESTDIR)$(PREFIX)/lib/pm-graph | 11 | install bootgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph |
12 | install -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
13 | install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
14 | install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
15 | install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
16 | install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
17 | install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
18 | install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
19 | install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
20 | install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
21 | install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
22 | install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
23 | install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config | ||
12 | 24 | ||
13 | ln -s $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_boot.py $(DESTDIR)$(PREFIX)/bin/bootgraph | 25 | install -d $(DESTDIR)$(PREFIX)/bin |
14 | ln -s $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_suspend.py $(DESTDIR)$(PREFIX)/bin/sleepgraph | 26 | ln -s $(DESTDIR)$(PREFIX)/lib/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph |
27 | ln -s $(DESTDIR)$(PREFIX)/lib/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph | ||
15 | 28 | ||
16 | install -d $(DESTDIR)$(PREFIX)/share/man/man8 | 29 | install -d $(DESTDIR)$(PREFIX)/share/man/man8 |
17 | install bootgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8 | 30 | install bootgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8 |
@@ -24,9 +37,11 @@ uninstall : | |||
24 | rm -f $(DESTDIR)$(PREFIX)/bin/bootgraph | 37 | rm -f $(DESTDIR)$(PREFIX)/bin/bootgraph |
25 | rm -f $(DESTDIR)$(PREFIX)/bin/sleepgraph | 38 | rm -f $(DESTDIR)$(PREFIX)/bin/sleepgraph |
26 | 39 | ||
27 | rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_boot.py | 40 | rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/config/* |
28 | rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/analyze_suspend.py | 41 | if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config ] ; then \ |
29 | rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/*.pyc | 42 | rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph/config; \ |
43 | fi; | ||
44 | rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/* | ||
30 | if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph ] ; then \ | 45 | if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph ] ; then \ |
31 | rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph; \ | 46 | rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph; \ |
32 | fi; | 47 | fi; |
diff --git a/tools/power/pm-graph/analyze_boot.py b/tools/power/pm-graph/bootgraph.py index e83df141a597..e83df141a597 100755 --- a/tools/power/pm-graph/analyze_boot.py +++ b/tools/power/pm-graph/bootgraph.py | |||
diff --git a/tools/power/pm-graph/config/cgskip.txt b/tools/power/pm-graph/config/cgskip.txt new file mode 100644 index 000000000000..e48d588fbfb4 --- /dev/null +++ b/tools/power/pm-graph/config/cgskip.txt | |||
@@ -0,0 +1,65 @@ | |||
1 | # ----------------------------------------------- | ||
2 | # CallGraph function skip list | ||
3 | # | ||
4 | # This file contains a list of functions which are | ||
5 | # meant to be skipped in the callgraph trace. It reduces | ||
6 | # the callgraph html file size by treating these functions | ||
7 | # as leaves with no child calls. It can be editted by | ||
8 | # adding or removing function symbol names. | ||
9 | # | ||
10 | # The sleepgraph tool automatically pulls this file in when | ||
11 | # it is found in the config folder. It can be ignored if | ||
12 | # the tool is called with "-cgskip off". | ||
13 | # ----------------------------------------------- | ||
14 | |||
15 | # low level scheduling and timing | ||
16 | up | ||
17 | down_timeout | ||
18 | mutex_lock | ||
19 | down_read | ||
20 | complete_all | ||
21 | schedule_timeout | ||
22 | wake_up_process | ||
23 | msleep | ||
24 | __udelay | ||
25 | ktime_get | ||
26 | |||
27 | # console calls | ||
28 | printk | ||
29 | dev_printk | ||
30 | console_unlock | ||
31 | |||
32 | # memory handling | ||
33 | __kmalloc | ||
34 | __kmalloc_track_caller | ||
35 | kmem_cache_alloc | ||
36 | kmem_cache_alloc_trace | ||
37 | kmem_cache_free | ||
38 | kstrdup | ||
39 | kstrdup_const | ||
40 | kmalloc_slab | ||
41 | new_slab | ||
42 | __slab_alloc | ||
43 | __slab_free | ||
44 | raw_pci_read | ||
45 | pci_read | ||
46 | alloc_pages_current | ||
47 | |||
48 | # debugfs and sysfs setup | ||
49 | debugfs_remove_recursive | ||
50 | debugfs_create_dir | ||
51 | debugfs_create_files | ||
52 | debugfs_create_dir | ||
53 | debugfs_get_inode | ||
54 | sysfs_add_file_mode_ns | ||
55 | sysfs_add_file | ||
56 | sysfs_create_dir_ns | ||
57 | sysfs_create_link | ||
58 | sysfs_create_group | ||
59 | sysfs_create_groups | ||
60 | sysfs_create_bin_file | ||
61 | dpm_sysfs_add | ||
62 | sysfs_create_file_ns | ||
63 | sysfs_merge_group | ||
64 | sysfs_add_link_to_group | ||
65 | sysfs_create_link_sd | ||
diff --git a/tools/power/pm-graph/config/custom-timeline-functions.cfg b/tools/power/pm-graph/config/custom-timeline-functions.cfg new file mode 100644 index 000000000000..4f80ad7d7275 --- /dev/null +++ b/tools/power/pm-graph/config/custom-timeline-functions.cfg | |||
@@ -0,0 +1,205 @@ | |||
1 | # | ||
2 | # This is the configuration file for sleepgraph. It contains | ||
3 | # all the tool arguments so that they don't have to be given on the | ||
4 | # command line. It also includes advanced settings for functions | ||
5 | # and kprobes. It is run like this | ||
6 | # | ||
7 | # sudo ./sleepgraph.py -config thisfile.txt | ||
8 | # | ||
9 | |||
10 | [Settings] | ||
11 | |||
12 | # Verbosity | ||
13 | # print verbose messages (default: false) | ||
14 | verbose: false | ||
15 | |||
16 | # Suspend Mode | ||
17 | # e.g. standby, mem, freeze, disk (default: mem) | ||
18 | mode: mem | ||
19 | |||
20 | # Automatic Wakeup | ||
21 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
22 | rtcwake: 15 | ||
23 | |||
24 | # Add Logs | ||
25 | # add the dmesg and ftrace log to the html output (default: false) | ||
26 | addlogs: false | ||
27 | |||
28 | # Display function calls | ||
29 | # graph source functions in the timeline (default: false) | ||
30 | dev: true | ||
31 | |||
32 | # Callgraph | ||
33 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
34 | callgraph: false | ||
35 | |||
36 | # Back to Back Suspend/Resume | ||
37 | # Run two suspend/resumes back to back (default: false) | ||
38 | x2: false | ||
39 | |||
40 | # Back to Back Suspend Delay | ||
41 | # Time delay between the two test runs in ms (default: 0 ms) | ||
42 | x2delay: 0 | ||
43 | |||
44 | # Minimum Device Length | ||
45 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
46 | mindev: 1 | ||
47 | |||
48 | # Minimum Callgraph Length | ||
49 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
50 | mincg: 1 | ||
51 | |||
52 | # Suspend/Resume Gap | ||
53 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
54 | srgap: false | ||
55 | |||
56 | # Output Directory Format | ||
57 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
58 | output-dir: suspend-{hostname}-{date}-{time}-custom | ||
59 | |||
60 | # Override default timeline entries | ||
61 | # Do not use the internal default functions for timeline entries (default: false) | ||
62 | # Set this to true if you intend to only use the ones defined in this config | ||
63 | override-timeline-functions: true | ||
64 | |||
65 | # Override default dev timeline entries | ||
66 | # Do not use the internal default functions for dev timeline entries (default: false) | ||
67 | # Set this to true if you intend to only use the ones defined in this config | ||
68 | override-dev-timeline-functions: true | ||
69 | |||
70 | [timeline_functions_x86_64] | ||
71 | # | ||
72 | # Function calls to display in the timeline alongside device callbacks. | ||
73 | # The tool has an internal set of these functions which should cover the | ||
74 | # whole of kernel execution, but you can append or override here. | ||
75 | # | ||
76 | # This is a list of kprobes which use both symbol data and function arg data. | ||
77 | # The function calls are displayed on the timeline alongside the device blocks. | ||
78 | # The args are pulled directly from the stack using this architecture's registers | ||
79 | # and stack formatting. Three pieces of info are required. The function name, | ||
80 | # a format string, and an argument list | ||
81 | # | ||
82 | # Entry format: | ||
83 | # | ||
84 | # function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple] | ||
85 | # | ||
86 | # Required Arguments: | ||
87 | # | ||
88 | # function: The symbol name for the function you want probed, this is the | ||
89 | # minimum required for an entry, it will show up as the function | ||
90 | # name with no arguments. | ||
91 | # | ||
92 | # example: _cpu_up: | ||
93 | # | ||
94 | # Optional Arguments: | ||
95 | # | ||
96 | # format: The format to display the data on the timeline in. Use braces to | ||
97 | # enclose the arg names. | ||
98 | # | ||
99 | # example: CPU_ON[{cpu}] | ||
100 | # | ||
101 | # color: The color of the entry block in the timeline. The default color is | ||
102 | # transparent, so the entry shares the phase color. The color is an | ||
103 | # html color string, either a word, or an RGB. | ||
104 | # | ||
105 | # example: [color=#CC00CC] | ||
106 | # | ||
107 | # arglist: A list of arguments from registers/stack addresses. See URL: | ||
108 | # https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt | ||
109 | # | ||
110 | # example: cpu=%di:s32 | ||
111 | # | ||
112 | # Example: Display cpu resume in the timeline | ||
113 | # | ||
114 | # _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 [color=orange] | ||
115 | # | ||
116 | _cpu_down: CPU_OFF[{cpu}] cpu=%di:s32 | ||
117 | _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 | ||
118 | sys_sync: | ||
119 | pm_prepare_console: | ||
120 | pm_notifier_call_chain: | ||
121 | freeze_processes: | ||
122 | freeze_kernel_threads: | ||
123 | pm_restrict_gfp_mask: | ||
124 | acpi_suspend_begin: | ||
125 | suspend_console: | ||
126 | acpi_pm_prepare: | ||
127 | syscore_suspend: | ||
128 | arch_enable_nonboot_cpus_end: | ||
129 | syscore_resume: | ||
130 | acpi_pm_finish: | ||
131 | resume_console: | ||
132 | acpi_pm_end: | ||
133 | pm_restore_gfp_mask: | ||
134 | thaw_processes: | ||
135 | pm_restore_console: | ||
136 | |||
137 | [dev_timeline_functions_x86_64] | ||
138 | # | ||
139 | # Dev mode function calls to display inside timeline entries | ||
140 | # | ||
141 | # This is a list of kprobes which use both symbol data and function arg data. | ||
142 | # The function calls are displayed on the timeline alongside the device blocks. | ||
143 | # The args are pulled directly from the stack using this architecture's registers | ||
144 | # and stack formatting. Three pieces of info are required. The function name, | ||
145 | # a format string, and an argument list | ||
146 | # | ||
147 | # Entry format: | ||
148 | # | ||
149 | # function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple] | ||
150 | # | ||
151 | # Required Arguments: | ||
152 | # | ||
153 | # function: The symbol name for the function you want probed, this is the | ||
154 | # minimum required for an entry, it will show up as the function | ||
155 | # name with no arguments. | ||
156 | # | ||
157 | # example: ata_eh_recover: | ||
158 | # | ||
159 | # Optional Arguments: | ||
160 | # | ||
161 | # format: The format to display the data on the timeline in. Use braces to | ||
162 | # enclose the arg names. | ||
163 | # | ||
164 | # example: ata{port}_port_reset | ||
165 | # | ||
166 | # color: The color of the entry block in the timeline. The default color is | ||
167 | # transparent, so the entry shares the phase color. The color is an | ||
168 | # html color string, either a word, or an RGB. | ||
169 | # | ||
170 | # example: [color=#CC00CC] | ||
171 | # | ||
172 | # arglist: A list of arguments from registers/stack addresses. See URL: | ||
173 | # https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt | ||
174 | # | ||
175 | # example: port=+36(%di):s32 | ||
176 | # | ||
177 | # Example: Display ATA port reset as ataN_port_reset in the timeline | ||
178 | # | ||
179 | # ata_eh_recover: ata{port}_port_reset port=+36(%di):s32 | ||
180 | # | ||
181 | msleep: msleep time=%di:s32 | ||
182 | schedule_timeout_uninterruptible: schedule_timeout_uninterruptible timeout=%di:s32 | ||
183 | schedule_timeout: schedule_timeout timeout=%di:s32 | ||
184 | usleep_range: usleep_range min=%di:s32 max=%si:s32 | ||
185 | __const_udelay: udelay loops=%di:s32 | ||
186 | __mutex_lock_slowpath: mutex_lock_slowpath | ||
187 | ata_eh_recover: ata_eh_recover port=+36(%di):s32 | ||
188 | acpi_os_stall: | ||
189 | acpi_resume_power_resources: | ||
190 | acpi_ps_parse_aml: | ||
191 | ext4_sync_fs: | ||
192 | i915_gem_resume: | ||
193 | i915_restore_state: | ||
194 | intel_opregion_setup: | ||
195 | g4x_pre_enable_dp: | ||
196 | vlv_pre_enable_dp: | ||
197 | chv_pre_enable_dp: | ||
198 | g4x_enable_dp: | ||
199 | vlv_enable_dp: | ||
200 | intel_hpd_init: | ||
201 | intel_opregion_register: | ||
202 | intel_dp_detect: | ||
203 | intel_hdmi_detect: | ||
204 | intel_opregion_init: | ||
205 | intel_fbdev_set_suspend: | ||
diff --git a/tools/power/pm-graph/config/example.cfg b/tools/power/pm-graph/config/example.cfg new file mode 100644 index 000000000000..05b2efb9bb54 --- /dev/null +++ b/tools/power/pm-graph/config/example.cfg | |||
@@ -0,0 +1,133 @@ | |||
1 | # | ||
2 | # Generic S3 (Suspend to Mem) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/example.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: mem | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: suspend-{hostname}-{date}-{time} | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: true | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # Skip HTML generation | ||
41 | # Only capture the logs, don't generate the html timeline (default: false) | ||
42 | skiphtml: false | ||
43 | |||
44 | # Sync filesystem before suspend | ||
45 | # run sync before the test, minimizes sys_sync call time (default: false) | ||
46 | sync: true | ||
47 | |||
48 | # Runtime suspend enable/disable | ||
49 | # Enable/disable runtime suspend for all devices, restore all after test (default: no-action) | ||
50 | # rs: disable | ||
51 | |||
52 | # Turn display on/off for test | ||
53 | # Switch the display on/off for the test using xset (default: no-action) | ||
54 | # display: on | ||
55 | |||
56 | # Print results to text file | ||
57 | # Print the status of the test run in the given file (default: no-action) | ||
58 | result: result.txt | ||
59 | |||
60 | # Gzip the log files to save space | ||
61 | # Gzip the generated log files, and read gzipped log files (default: false) | ||
62 | gzip: true | ||
63 | |||
64 | # ---- Advanced Options ---- | ||
65 | |||
66 | # Command to execute in lieu of suspend (default: "") | ||
67 | # command: echo mem > /sys/power/state | ||
68 | |||
69 | # Display user processes | ||
70 | # graph user processes and cpu usage in the timeline (default: false) | ||
71 | proc: false | ||
72 | |||
73 | # Display function calls | ||
74 | # graph source functions in the timeline (default: false) | ||
75 | dev: false | ||
76 | |||
77 | # Multiple test runs | ||
78 | # Run N tests D seconds apart, generates separate outputs with a summary (default: false) | ||
79 | # multi: 3 5 | ||
80 | |||
81 | # Back to Back Suspend/Resume | ||
82 | # Run two suspend/resumes back to back and display in the same timeline (default: false) | ||
83 | x2: false | ||
84 | |||
85 | # Back to Back Suspend Delay | ||
86 | # Time delay between the two test runs in ms (default: 0 ms) | ||
87 | x2delay: 0 | ||
88 | |||
89 | # Pre Suspend Delay | ||
90 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
91 | predelay: 0 | ||
92 | |||
93 | # Post Resume Delay | ||
94 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
95 | postdelay: 0 | ||
96 | |||
97 | # Minimum Device Length | ||
98 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
99 | mindev: 0.001 | ||
100 | |||
101 | # ---- Debug Options ---- | ||
102 | |||
103 | # Callgraph | ||
104 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
105 | callgraph: false | ||
106 | |||
107 | # Callgraph phase filter | ||
108 | # Only enable callgraphs for one phase, i.e. resume_noirq (default: all) | ||
109 | cgphase: suspend | ||
110 | |||
111 | # Callgraph x2 test filter | ||
112 | # Only enable callgraphs test 0 or 1 when using -x2 (default: 1) | ||
113 | cgtest: 0 | ||
114 | |||
115 | # Expand Callgraph | ||
116 | # pre-expand the callgraph data in the html output (default: disabled) | ||
117 | expandcg: false | ||
118 | |||
119 | # Minimum Callgraph Length | ||
120 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
121 | mincg: 1 | ||
122 | |||
123 | # Timestamp Precision | ||
124 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
125 | timeprec: 6 | ||
126 | |||
127 | # Device Filter | ||
128 | # show only devices whose name/driver includes one of these strings | ||
129 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
130 | |||
131 | # Add kprobe functions to the timeline | ||
132 | # Add functions to the timeline from a text file (default: no-action) | ||
133 | # fadd: file.txt | ||
diff --git a/tools/power/pm-graph/config/freeze-callgraph.cfg b/tools/power/pm-graph/config/freeze-callgraph.cfg new file mode 100644 index 000000000000..f692821c4828 --- /dev/null +++ b/tools/power/pm-graph/config/freeze-callgraph.cfg | |||
@@ -0,0 +1,94 @@ | |||
1 | # | ||
2 | # Full Callgraph for S2 (Freeze) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/freeze-callgraph.cfg | ||
10 | # | ||
11 | # NOTE: the output of this test is very large (> 30MB) | ||
12 | |||
13 | [Settings] | ||
14 | |||
15 | # ---- General Options ---- | ||
16 | |||
17 | # Verbosity | ||
18 | # print verbose messages (default: false) | ||
19 | verbose: false | ||
20 | |||
21 | # Suspend Mode | ||
22 | # e.g. standby, mem, freeze, disk (default: mem) | ||
23 | mode: freeze | ||
24 | |||
25 | # Output Directory Format | ||
26 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
27 | output-dir: freeze-{hostname}-{date}-{time}-cg | ||
28 | |||
29 | # Automatic Wakeup | ||
30 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
31 | rtcwake: 15 | ||
32 | |||
33 | # Add Logs | ||
34 | # add the dmesg and ftrace log to the html output (default: false) | ||
35 | addlogs: false | ||
36 | |||
37 | # Suspend/Resume Gap | ||
38 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
39 | srgap: false | ||
40 | |||
41 | # ---- Advanced Options ---- | ||
42 | |||
43 | # Command to execute in lieu of freeze (default: "") | ||
44 | # command: echo freeze > /sys/power/state | ||
45 | |||
46 | # Display user processes | ||
47 | # graph user processes and cpu usage in the timeline (default: false) | ||
48 | proc: false | ||
49 | |||
50 | # Display function calls | ||
51 | # graph source functions in the timeline (default: false) | ||
52 | dev: false | ||
53 | |||
54 | # Back to Back Suspend/Resume | ||
55 | # Run two suspend/resumes back to back (default: false) | ||
56 | x2: false | ||
57 | |||
58 | # Back to Back Suspend Delay | ||
59 | # Time delay between the two test runs in ms (default: 0 ms) | ||
60 | x2delay: 0 | ||
61 | |||
62 | # Pre Suspend Delay | ||
63 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
64 | predelay: 0 | ||
65 | |||
66 | # Post Resume Delay | ||
67 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
68 | postdelay: 0 | ||
69 | |||
70 | # Minimum Device Length | ||
71 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
72 | mindev: 1 | ||
73 | |||
74 | # ---- Debug Options ---- | ||
75 | |||
76 | # Callgraph | ||
77 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
78 | callgraph: true | ||
79 | |||
80 | # Expand Callgraph | ||
81 | # pre-expand the callgraph data in the html output (default: disabled) | ||
82 | expandcg: false | ||
83 | |||
84 | # Minimum Callgraph Length | ||
85 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
86 | mincg: 1 | ||
87 | |||
88 | # Timestamp Precision | ||
89 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
90 | timeprec: 6 | ||
91 | |||
92 | # Device Filter | ||
93 | # show only devs whose name/driver includes one of these strings | ||
94 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/freeze-dev.cfg b/tools/power/pm-graph/config/freeze-dev.cfg new file mode 100644 index 000000000000..c4ad5cea3cbf --- /dev/null +++ b/tools/power/pm-graph/config/freeze-dev.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Dev S2 (Freeze) test - includes src calls / kernel threads | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/freeze-dev.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: freeze | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: freeze-{hostname}-{date}-{time}-dev | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of freeze (default: "") | ||
43 | # command: echo freeze > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: false | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: true | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: false | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 0 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 0 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 0 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 1 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/freeze.cfg b/tools/power/pm-graph/config/freeze.cfg new file mode 100644 index 000000000000..0b70e0b74527 --- /dev/null +++ b/tools/power/pm-graph/config/freeze.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Generic S2 (Freeze) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/freeze.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: freeze | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: freeze-{hostname}-{date}-{time} | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of freeze (default: "") | ||
43 | # command: echo freeze > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: false | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: false | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: false | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 0 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 0 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 0 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 0.001 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/standby-callgraph.cfg b/tools/power/pm-graph/config/standby-callgraph.cfg new file mode 100644 index 000000000000..f52a6b9d5c32 --- /dev/null +++ b/tools/power/pm-graph/config/standby-callgraph.cfg | |||
@@ -0,0 +1,94 @@ | |||
1 | # | ||
2 | # Full Callgraph for S1 (Standby) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/standby-callgraph.cfg | ||
10 | # | ||
11 | # NOTE: the output of this test is very large (> 30MB) | ||
12 | |||
13 | [Settings] | ||
14 | |||
15 | # ---- General Options ---- | ||
16 | |||
17 | # Verbosity | ||
18 | # print verbose messages (default: false) | ||
19 | verbose: false | ||
20 | |||
21 | # Suspend Mode | ||
22 | # e.g. standby, mem, freeze, disk (default: mem) | ||
23 | mode: standby | ||
24 | |||
25 | # Output Directory Format | ||
26 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
27 | output-dir: standby-{hostname}-{date}-{time}-cg | ||
28 | |||
29 | # Automatic Wakeup | ||
30 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
31 | rtcwake: 15 | ||
32 | |||
33 | # Add Logs | ||
34 | # add the dmesg and ftrace log to the html output (default: false) | ||
35 | addlogs: false | ||
36 | |||
37 | # Suspend/Resume Gap | ||
38 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
39 | srgap: false | ||
40 | |||
41 | # ---- Advanced Options ---- | ||
42 | |||
43 | # Command to execute in lieu of standby (default: "") | ||
44 | # command: echo standby > /sys/power/state | ||
45 | |||
46 | # Display user processes | ||
47 | # graph user processes and cpu usage in the timeline (default: false) | ||
48 | proc: false | ||
49 | |||
50 | # Display function calls | ||
51 | # graph source functions in the timeline (default: false) | ||
52 | dev: false | ||
53 | |||
54 | # Back to Back Suspend/Resume | ||
55 | # Run two suspend/resumes back to back (default: false) | ||
56 | x2: false | ||
57 | |||
58 | # Back to Back Suspend Delay | ||
59 | # Time delay between the two test runs in ms (default: 0 ms) | ||
60 | x2delay: 0 | ||
61 | |||
62 | # Pre Suspend Delay | ||
63 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
64 | predelay: 0 | ||
65 | |||
66 | # Post Resume Delay | ||
67 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
68 | postdelay: 0 | ||
69 | |||
70 | # Minimum Device Length | ||
71 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
72 | mindev: 1 | ||
73 | |||
74 | # ---- Debug Options ---- | ||
75 | |||
76 | # Callgraph | ||
77 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
78 | callgraph: true | ||
79 | |||
80 | # Expand Callgraph | ||
81 | # pre-expand the callgraph data in the html output (default: disabled) | ||
82 | expandcg: false | ||
83 | |||
84 | # Minimum Callgraph Length | ||
85 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
86 | mincg: 1 | ||
87 | |||
88 | # Timestamp Precision | ||
89 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
90 | timeprec: 6 | ||
91 | |||
92 | # Device Filter | ||
93 | # show only devs whose name/driver includes one of these strings | ||
94 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/standby-dev.cfg b/tools/power/pm-graph/config/standby-dev.cfg new file mode 100644 index 000000000000..a5498ece3def --- /dev/null +++ b/tools/power/pm-graph/config/standby-dev.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Dev S1 (Standby) test - includes src calls / kernel threads | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/standby-dev.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: standby | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: standby-{hostname}-{date}-{time}-dev | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of standby (default: "") | ||
43 | # command: echo standby > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: false | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: true | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: false | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 0 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 0 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 0 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 1 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/standby.cfg b/tools/power/pm-graph/config/standby.cfg new file mode 100644 index 000000000000..f0dd264dfeff --- /dev/null +++ b/tools/power/pm-graph/config/standby.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Generic S1 (Standby) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/standby.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: standby | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: standby-{hostname}-{date}-{time} | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of standby (default: "") | ||
43 | # command: echo standby > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: false | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: false | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: false | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 0 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 0 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 0 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 0.001 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/suspend-callgraph.cfg b/tools/power/pm-graph/config/suspend-callgraph.cfg new file mode 100644 index 000000000000..11b8cbc12d34 --- /dev/null +++ b/tools/power/pm-graph/config/suspend-callgraph.cfg | |||
@@ -0,0 +1,98 @@ | |||
1 | # | ||
2 | # Full Callgraph for S3 (Suspend to Mem) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/suspend.cfg | ||
10 | # | ||
11 | # NOTE: the output of this test is very large (> 30MB) | ||
12 | |||
13 | [Settings] | ||
14 | |||
15 | # ---- General Options ---- | ||
16 | |||
17 | # Verbosity | ||
18 | # print verbose messages (default: false) | ||
19 | verbose: false | ||
20 | |||
21 | # Suspend Mode | ||
22 | # e.g. standby, mem, freeze, disk (default: mem) | ||
23 | mode: mem | ||
24 | |||
25 | # Output Directory Format | ||
26 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
27 | output-dir: suspend-{hostname}-{date}-{time}-cg | ||
28 | |||
29 | # Automatic Wakeup | ||
30 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
31 | rtcwake: 15 | ||
32 | |||
33 | # Add Logs | ||
34 | # add the dmesg and ftrace log to the html output (default: false) | ||
35 | addlogs: false | ||
36 | |||
37 | # Suspend/Resume Gap | ||
38 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
39 | srgap: false | ||
40 | |||
41 | # ---- Advanced Options ---- | ||
42 | |||
43 | # Command to execute in lieu of suspend (default: "") | ||
44 | # command: echo mem > /sys/power/state | ||
45 | |||
46 | # Display user processes | ||
47 | # graph user processes and cpu usage in the timeline (default: false) | ||
48 | proc: false | ||
49 | |||
50 | # Display function calls | ||
51 | # graph source functions in the timeline (default: false) | ||
52 | dev: false | ||
53 | |||
54 | # Back to Back Suspend/Resume | ||
55 | # Run two suspend/resumes back to back (default: false) | ||
56 | x2: false | ||
57 | |||
58 | # Back to Back Suspend Delay | ||
59 | # Time delay between the two test runs in ms (default: 0 ms) | ||
60 | x2delay: 0 | ||
61 | |||
62 | # Pre Suspend Delay | ||
63 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
64 | predelay: 0 | ||
65 | |||
66 | # Post Resume Delay | ||
67 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
68 | postdelay: 0 | ||
69 | |||
70 | # Minimum Device Length | ||
71 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
72 | mindev: 0.001 | ||
73 | |||
74 | # ---- Debug Options ---- | ||
75 | |||
76 | # Callgraph | ||
77 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
78 | callgraph: true | ||
79 | |||
80 | # Max graph depth | ||
81 | # limit the callgraph trace to this depth (default: 0 = all) | ||
82 | maxdepth: 5 | ||
83 | |||
84 | # Expand Callgraph | ||
85 | # pre-expand the callgraph data in the html output (default: disabled) | ||
86 | expandcg: false | ||
87 | |||
88 | # Minimum Callgraph Length | ||
89 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
90 | mincg: 1 | ||
91 | |||
92 | # Timestamp Precision | ||
93 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
94 | timeprec: 6 | ||
95 | |||
96 | # Device Filter | ||
97 | # show only devs whose name/driver includes one of these strings | ||
98 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/suspend-dev.cfg b/tools/power/pm-graph/config/suspend-dev.cfg new file mode 100644 index 000000000000..56f1d21cc79b --- /dev/null +++ b/tools/power/pm-graph/config/suspend-dev.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Dev S3 (Suspend to Mem) test - includes src calls / kernel threads | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/suspend-dev.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: mem | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: suspend-{hostname}-{date}-{time}-dev | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of suspend (default: "") | ||
43 | # command: echo mem > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: false | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: true | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: false | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 0 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 0 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 0 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 1 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/suspend-x2-proc.cfg b/tools/power/pm-graph/config/suspend-x2-proc.cfg new file mode 100644 index 000000000000..0ecca0ede138 --- /dev/null +++ b/tools/power/pm-graph/config/suspend-x2-proc.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Proc S3 (Suspend to Mem) x2 test - includes user processes | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/suspend-proc.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: mem | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: suspend-{hostname}-{date}-{time}-x2-proc | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of suspend (default: "") | ||
43 | # command: echo mem > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: true | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: false | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: true | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 1000 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 1000 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 1000 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 1 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/config/suspend.cfg b/tools/power/pm-graph/config/suspend.cfg new file mode 100644 index 000000000000..70d293231b06 --- /dev/null +++ b/tools/power/pm-graph/config/suspend.cfg | |||
@@ -0,0 +1,93 @@ | |||
1 | # | ||
2 | # Generic S3 (Suspend to Mem) test | ||
3 | # | ||
4 | # This is the configuration file for sleepgraph. It contains | ||
5 | # all the tool arguments so that they don't have to be given on the | ||
6 | # command line. It also includes advanced settings for functions | ||
7 | # and kprobes. It is run like this | ||
8 | # | ||
9 | # sudo ./sleepgraph.py -config config/suspend.cfg | ||
10 | # | ||
11 | |||
12 | [Settings] | ||
13 | |||
14 | # ---- General Options ---- | ||
15 | |||
16 | # Verbosity | ||
17 | # print verbose messages (default: false) | ||
18 | verbose: false | ||
19 | |||
20 | # Suspend Mode | ||
21 | # e.g. standby, mem, freeze, disk (default: mem) | ||
22 | mode: mem | ||
23 | |||
24 | # Output Directory Format | ||
25 | # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values | ||
26 | output-dir: suspend-{hostname}-{date}-{time} | ||
27 | |||
28 | # Automatic Wakeup | ||
29 | # Use rtcwake to autoresume after X seconds, or off to disable (default: 15) | ||
30 | rtcwake: 15 | ||
31 | |||
32 | # Add Logs | ||
33 | # add the dmesg and ftrace log to the html output (default: false) | ||
34 | addlogs: false | ||
35 | |||
36 | # Suspend/Resume Gap | ||
37 | # insert a small visible gap between suspend and resume on the timeline (default: false) | ||
38 | srgap: false | ||
39 | |||
40 | # ---- Advanced Options ---- | ||
41 | |||
42 | # Command to execute in lieu of suspend (default: "") | ||
43 | # command: echo mem > /sys/power/state | ||
44 | |||
45 | # Display user processes | ||
46 | # graph user processes and cpu usage in the timeline (default: false) | ||
47 | proc: false | ||
48 | |||
49 | # Display function calls | ||
50 | # graph source functions in the timeline (default: false) | ||
51 | dev: false | ||
52 | |||
53 | # Back to Back Suspend/Resume | ||
54 | # Run two suspend/resumes back to back (default: false) | ||
55 | x2: false | ||
56 | |||
57 | # Back to Back Suspend Delay | ||
58 | # Time delay between the two test runs in ms (default: 0 ms) | ||
59 | x2delay: 0 | ||
60 | |||
61 | # Pre Suspend Delay | ||
62 | # Include an N ms delay before (1st) suspend (default: 0 ms) | ||
63 | predelay: 0 | ||
64 | |||
65 | # Post Resume Delay | ||
66 | # Include an N ms delay after (last) resume (default: 0 ms) | ||
67 | postdelay: 0 | ||
68 | |||
69 | # Minimum Device Length | ||
70 | # graph only devices longer than min in the timeline (default: 0.001 ms) | ||
71 | mindev: 0.001 | ||
72 | |||
73 | # ---- Debug Options ---- | ||
74 | |||
75 | # Callgraph | ||
76 | # gather detailed ftrace callgraph data on all timeline events (default: false) | ||
77 | callgraph: false | ||
78 | |||
79 | # Expand Callgraph | ||
80 | # pre-expand the callgraph data in the html output (default: disabled) | ||
81 | expandcg: false | ||
82 | |||
83 | # Minimum Callgraph Length | ||
84 | # provide callgraph data for blocks longer than min (default: 0.001 ms) | ||
85 | mincg: 1 | ||
86 | |||
87 | # Timestamp Precision | ||
88 | # Number of significant digits in timestamps (0:S, [3:ms], 6:us) | ||
89 | timeprec: 3 | ||
90 | |||
91 | # Device Filter | ||
92 | # show only devs whose name/driver includes one of these strings | ||
93 | # devicefilter: _cpu_up,_cpu_down,i915,usb | ||
diff --git a/tools/power/pm-graph/analyze_suspend.py b/tools/power/pm-graph/sleepgraph.py index 1b60fe203741..1b60fe203741 100755 --- a/tools/power/pm-graph/analyze_suspend.py +++ b/tools/power/pm-graph/sleepgraph.py | |||