You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
PM / sleep: trace events for suspend/resume
Adds trace events that give finer resolution into suspend/resume. These events are graphed in the timelines generated by the analyze_suspend.py script. They represent large areas of time consumed that are typical to suspend and resume. The event is triggered by calling the function "trace_suspend_resume" with three arguments: a string (the name of the event to be displayed in the timeline), an integer (case specific number, such as the power state or cpu number), and a boolean (where true is used to denote the start of the timeline event, and false to denote the end). The suspend_resume trace event reproduces the data that the machine_suspend trace event did, so the latter has been removed. Signed-off-by: Todd Brandt <todd.e.brandt@intel.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
committed by
Rafael J. Wysocki
parent
3eba148d75
commit
bb3632c610
@@ -19,6 +19,7 @@
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/io.h>
|
||||
#include <trace/events/power.h>
|
||||
|
||||
#include "internal.h"
|
||||
#include "sleep.h"
|
||||
@@ -501,6 +502,7 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
|
||||
|
||||
ACPI_FLUSH_CPU_CACHE();
|
||||
|
||||
trace_suspend_resume(TPS("acpi_suspend"), acpi_state, true);
|
||||
switch (acpi_state) {
|
||||
case ACPI_STATE_S1:
|
||||
barrier();
|
||||
@@ -516,6 +518,7 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
|
||||
pr_info(PREFIX "Low-level resume complete\n");
|
||||
break;
|
||||
}
|
||||
trace_suspend_resume(TPS("acpi_suspend"), acpi_state, false);
|
||||
|
||||
/* This violates the spec but is required for bug compatibility. */
|
||||
acpi_write_bit_register(ACPI_BITREG_SCI_ENABLE, 1);
|
||||
|
||||
Reference in New Issue
Block a user