123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- #
- # 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:
|