| # |
| # 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.rst |
| # |
| # 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.rst |
| # |
| # 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: |