|
@@ -0,0 +1,205 @@
|
|
|
+#
|
|
|
+# This is the configuration file for sleepgraph. It contains
|
|
|
+# all the tool arguments so that they don't have to be given on the
|
|
|
+# command line. It also includes advanced settings for functions
|
|
|
+# and kprobes. It is run like this
|
|
|
+#
|
|
|
+# sudo ./sleepgraph.py -config thisfile.txt
|
|
|
+#
|
|
|
+
|
|
|
+[Settings]
|
|
|
+
|
|
|
+# Verbosity
|
|
|
+# print verbose messages (default: false)
|
|
|
+verbose: false
|
|
|
+
|
|
|
+# Suspend Mode
|
|
|
+# e.g. standby, mem, freeze, disk (default: mem)
|
|
|
+mode: mem
|
|
|
+
|
|
|
+# Automatic Wakeup
|
|
|
+# Use rtcwake to autoresume after X seconds, or off to disable (default: 15)
|
|
|
+rtcwake: 15
|
|
|
+
|
|
|
+# Add Logs
|
|
|
+# add the dmesg and ftrace log to the html output (default: false)
|
|
|
+addlogs: false
|
|
|
+
|
|
|
+# Display function calls
|
|
|
+# graph source functions in the timeline (default: false)
|
|
|
+dev: true
|
|
|
+
|
|
|
+# Callgraph
|
|
|
+# gather detailed ftrace callgraph data on all timeline events (default: false)
|
|
|
+callgraph: false
|
|
|
+
|
|
|
+# Back to Back Suspend/Resume
|
|
|
+# Run two suspend/resumes back to back (default: false)
|
|
|
+x2: false
|
|
|
+
|
|
|
+# Back to Back Suspend Delay
|
|
|
+# Time delay between the two test runs in ms (default: 0 ms)
|
|
|
+x2delay: 0
|
|
|
+
|
|
|
+# Minimum Device Length
|
|
|
+# graph only devices longer than min in the timeline (default: 0.001 ms)
|
|
|
+mindev: 1
|
|
|
+
|
|
|
+# Minimum Callgraph Length
|
|
|
+# provide callgraph data for blocks longer than min (default: 0.001 ms)
|
|
|
+mincg: 1
|
|
|
+
|
|
|
+# Suspend/Resume Gap
|
|
|
+# insert a small visible gap between suspend and resume on the timeline (default: false)
|
|
|
+srgap: false
|
|
|
+
|
|
|
+# Output Directory Format
|
|
|
+# output folder for html, ftrace, and dmesg. Use {date} and {time} for current values
|
|
|
+output-dir: suspend-{hostname}-{date}-{time}-custom
|
|
|
+
|
|
|
+# Override default timeline entries
|
|
|
+# Do not use the internal default functions for timeline entries (default: false)
|
|
|
+# Set this to true if you intend to only use the ones defined in this config
|
|
|
+override-timeline-functions: true
|
|
|
+
|
|
|
+# Override default dev timeline entries
|
|
|
+# Do not use the internal default functions for dev timeline entries (default: false)
|
|
|
+# Set this to true if you intend to only use the ones defined in this config
|
|
|
+override-dev-timeline-functions: true
|
|
|
+
|
|
|
+[timeline_functions_x86_64]
|
|
|
+#
|
|
|
+# Function calls to display in the timeline alongside device callbacks.
|
|
|
+# The tool has an internal set of these functions which should cover the
|
|
|
+# whole of kernel execution, but you can append or override here.
|
|
|
+#
|
|
|
+# This is a list of kprobes which use both symbol data and function arg data.
|
|
|
+# The function calls are displayed on the timeline alongside the device blocks.
|
|
|
+# The args are pulled directly from the stack using this architecture's registers
|
|
|
+# and stack formatting. Three pieces of info are required. The function name,
|
|
|
+# a format string, and an argument list
|
|
|
+#
|
|
|
+# Entry format:
|
|
|
+#
|
|
|
+# function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
|
|
|
+#
|
|
|
+# Required Arguments:
|
|
|
+#
|
|
|
+# function: The symbol name for the function you want probed, this is the
|
|
|
+# minimum required for an entry, it will show up as the function
|
|
|
+# name with no arguments.
|
|
|
+#
|
|
|
+# example: _cpu_up:
|
|
|
+#
|
|
|
+# Optional Arguments:
|
|
|
+#
|
|
|
+# format: The format to display the data on the timeline in. Use braces to
|
|
|
+# enclose the arg names.
|
|
|
+#
|
|
|
+# example: CPU_ON[{cpu}]
|
|
|
+#
|
|
|
+# color: The color of the entry block in the timeline. The default color is
|
|
|
+# transparent, so the entry shares the phase color. The color is an
|
|
|
+# html color string, either a word, or an RGB.
|
|
|
+#
|
|
|
+# example: [color=#CC00CC]
|
|
|
+#
|
|
|
+# arglist: A list of arguments from registers/stack addresses. See URL:
|
|
|
+# https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
|
|
|
+#
|
|
|
+# example: cpu=%di:s32
|
|
|
+#
|
|
|
+# Example: Display cpu resume in the timeline
|
|
|
+#
|
|
|
+# _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 [color=orange]
|
|
|
+#
|
|
|
+_cpu_down: CPU_OFF[{cpu}] cpu=%di:s32
|
|
|
+_cpu_up: CPU_ON[{cpu}] cpu=%di:s32
|
|
|
+sys_sync:
|
|
|
+pm_prepare_console:
|
|
|
+pm_notifier_call_chain:
|
|
|
+freeze_processes:
|
|
|
+freeze_kernel_threads:
|
|
|
+pm_restrict_gfp_mask:
|
|
|
+acpi_suspend_begin:
|
|
|
+suspend_console:
|
|
|
+acpi_pm_prepare:
|
|
|
+syscore_suspend:
|
|
|
+arch_enable_nonboot_cpus_end:
|
|
|
+syscore_resume:
|
|
|
+acpi_pm_finish:
|
|
|
+resume_console:
|
|
|
+acpi_pm_end:
|
|
|
+pm_restore_gfp_mask:
|
|
|
+thaw_processes:
|
|
|
+pm_restore_console:
|
|
|
+
|
|
|
+[dev_timeline_functions_x86_64]
|
|
|
+#
|
|
|
+# Dev mode function calls to display inside timeline entries
|
|
|
+#
|
|
|
+# This is a list of kprobes which use both symbol data and function arg data.
|
|
|
+# The function calls are displayed on the timeline alongside the device blocks.
|
|
|
+# The args are pulled directly from the stack using this architecture's registers
|
|
|
+# and stack formatting. Three pieces of info are required. The function name,
|
|
|
+# a format string, and an argument list
|
|
|
+#
|
|
|
+# Entry format:
|
|
|
+#
|
|
|
+# function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
|
|
|
+#
|
|
|
+# Required Arguments:
|
|
|
+#
|
|
|
+# function: The symbol name for the function you want probed, this is the
|
|
|
+# minimum required for an entry, it will show up as the function
|
|
|
+# name with no arguments.
|
|
|
+#
|
|
|
+# example: ata_eh_recover:
|
|
|
+#
|
|
|
+# Optional Arguments:
|
|
|
+#
|
|
|
+# format: The format to display the data on the timeline in. Use braces to
|
|
|
+# enclose the arg names.
|
|
|
+#
|
|
|
+# example: ata{port}_port_reset
|
|
|
+#
|
|
|
+# color: The color of the entry block in the timeline. The default color is
|
|
|
+# transparent, so the entry shares the phase color. The color is an
|
|
|
+# html color string, either a word, or an RGB.
|
|
|
+#
|
|
|
+# example: [color=#CC00CC]
|
|
|
+#
|
|
|
+# arglist: A list of arguments from registers/stack addresses. See URL:
|
|
|
+# https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
|
|
|
+#
|
|
|
+# example: port=+36(%di):s32
|
|
|
+#
|
|
|
+# Example: Display ATA port reset as ataN_port_reset in the timeline
|
|
|
+#
|
|
|
+# ata_eh_recover: ata{port}_port_reset port=+36(%di):s32
|
|
|
+#
|
|
|
+msleep: msleep time=%di:s32
|
|
|
+schedule_timeout_uninterruptible: schedule_timeout_uninterruptible timeout=%di:s32
|
|
|
+schedule_timeout: schedule_timeout timeout=%di:s32
|
|
|
+usleep_range: usleep_range min=%di:s32 max=%si:s32
|
|
|
+__const_udelay: udelay loops=%di:s32
|
|
|
+__mutex_lock_slowpath: mutex_lock_slowpath
|
|
|
+ata_eh_recover: ata_eh_recover port=+36(%di):s32
|
|
|
+acpi_os_stall:
|
|
|
+acpi_resume_power_resources:
|
|
|
+acpi_ps_parse_aml:
|
|
|
+ext4_sync_fs:
|
|
|
+i915_gem_resume:
|
|
|
+i915_restore_state:
|
|
|
+intel_opregion_setup:
|
|
|
+g4x_pre_enable_dp:
|
|
|
+vlv_pre_enable_dp:
|
|
|
+chv_pre_enable_dp:
|
|
|
+g4x_enable_dp:
|
|
|
+vlv_enable_dp:
|
|
|
+intel_hpd_init:
|
|
|
+intel_opregion_register:
|
|
|
+intel_dp_detect:
|
|
|
+intel_hdmi_detect:
|
|
|
+intel_opregion_init:
|
|
|
+intel_fbdev_set_suspend:
|