aboutsummaryrefslogtreecommitdiffstats
path: root/tools/power/pm-graph/bootgraph.py
diff options
context:
space:
mode:
authorTodd Brandt <todd.e.brandt@linux.intel.com>2019-05-14 13:53:58 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2019-05-27 05:17:07 -0400
commit45dd0a42b90bed6cb8c63e7f88f62bf5662c2413 (patch)
tree110aff5e35931638b43719945f9d00726df7d0c6 /tools/power/pm-graph/bootgraph.py
parent7673896a40693506db49c1e9f9c3a4a8c7e357c5 (diff)
Update to pm-graph 5.4
bootgraph: - dmesg log format has changed, update parser in two places - fix prints in preparation for upgrade to python3 sleepgraph: - fix prints in preparation for upgrade to python3 - add new trace events and kprobes to cover freeze more completely - add new -ftop callgraph trace over suspend_devices_and_enter - add -wifi option to check if a wifi connection is active - add -skipkprobe option to suppress unwanted kprobes in dev mode - add kernel params and sysinfo to the log output - don't crash if /dev/mem is throwing IO errors, ignore FPDT and DMI - fix kprobe length calculation when calls are recursive - add several new kernel issue definitions for USB, ACPI, ATA, etc - enable turbostat output to be read from stdout instead of from file - add BIOS call data to the timeline from acpi_ps_execute_method kprobe Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'tools/power/pm-graph/bootgraph.py')
-rwxr-xr-xtools/power/pm-graph/bootgraph.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/power/pm-graph/bootgraph.py b/tools/power/pm-graph/bootgraph.py
index 6dae57041537..d7f4bd152bf1 100755
--- a/tools/power/pm-graph/bootgraph.py
+++ b/tools/power/pm-graph/bootgraph.py
@@ -333,9 +333,9 @@ def parseKernelLog():
333 if(not sysvals.stamp['kernel']): 333 if(not sysvals.stamp['kernel']):
334 sysvals.stamp['kernel'] = sysvals.kernelVersion(msg) 334 sysvals.stamp['kernel'] = sysvals.kernelVersion(msg)
335 continue 335 continue
336 m = re.match('.* setting system clock to (?P<t>.*) UTC.*', msg) 336 m = re.match('.* setting system clock to (?P<d>[0-9\-]*)[ A-Z](?P<t>[0-9:]*) UTC.*', msg)
337 if(m): 337 if(m):
338 bt = datetime.strptime(m.group('t'), '%Y-%m-%d %H:%M:%S') 338 bt = datetime.strptime(m.group('d')+' '+m.group('t'), '%Y-%m-%d %H:%M:%S')
339 bt = bt - timedelta(seconds=int(ktime)) 339 bt = bt - timedelta(seconds=int(ktime))
340 data.boottime = bt.strftime('%Y-%m-%d_%H:%M:%S') 340 data.boottime = bt.strftime('%Y-%m-%d_%H:%M:%S')
341 sysvals.stamp['time'] = bt.strftime('%B %d %Y, %I:%M:%S %p') 341 sysvals.stamp['time'] = bt.strftime('%B %d %Y, %I:%M:%S %p')
@@ -356,7 +356,7 @@ def parseKernelLog():
356 data.newAction(phase, f, pid, start, ktime, int(r), int(t)) 356 data.newAction(phase, f, pid, start, ktime, int(r), int(t))
357 del devtemp[f] 357 del devtemp[f]
358 continue 358 continue
359 if(re.match('^Freeing unused kernel memory.*', msg)): 359 if(re.match('^Freeing unused kernel .*', msg)):
360 data.tUserMode = ktime 360 data.tUserMode = ktime
361 data.dmesg['kernel']['end'] = ktime 361 data.dmesg['kernel']['end'] = ktime
362 data.dmesg['user']['start'] = ktime 362 data.dmesg['user']['start'] = ktime
@@ -1016,7 +1016,7 @@ if __name__ == '__main__':
1016 updateKernelParams() 1016 updateKernelParams()
1017 elif cmd == 'flistall': 1017 elif cmd == 'flistall':
1018 for f in sysvals.getBootFtraceFilterFunctions(): 1018 for f in sysvals.getBootFtraceFilterFunctions():
1019 print f 1019 print(f)
1020 elif cmd == 'checkbl': 1020 elif cmd == 'checkbl':
1021 sysvals.getBootLoader() 1021 sysvals.getBootLoader()
1022 pprint('Boot Loader: %s\n%s' % (sysvals.bootloader, sysvals.blexec)) 1022 pprint('Boot Loader: %s\n%s' % (sysvals.bootloader, sysvals.blexec))