diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2010-09-22 16:09:10 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2010-10-16 19:57:43 -0400 |
commit | 074037ec79bea73edf1b1ec72fef1010e83e3cc5 (patch) | |
tree | 1876caa07f755e680da5ea102d985efe4b508d56 /Documentation | |
parent | 0702d9ee0f1dcb6258789032f03b3208bfafaffc (diff) |
PM / Wakeup: Introduce wakeup source objects and event statistics (v3)
Introduce struct wakeup_source for representing system wakeup sources
within the kernel and for collecting statistics related to them.
Make the recently introduced helper functions pm_wakeup_event(),
pm_stay_awake() and pm_relax() use struct wakeup_source objects
internally, so that wakeup statistics associated with wakeup devices
can be collected and reported in a consistent way (the definition of
pm_relax() is changed, which is harmless, because this function is
not called directly by anyone yet). Introduce new wakeup-related
sysfs device attributes in /sys/devices/.../power for reporting the
device wakeup statistics.
Change the global wakeup events counters event_count and
events_in_progress into atomic variables, so that it is not necessary
to acquire a global spinlock in pm_wakeup_event(), pm_stay_awake()
and pm_relax(), which should allow us to avoid lock contention in
these functions on SMP systems with many wakeup devices.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-devices-power | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-devices-power b/Documentation/ABI/testing/sysfs-devices-power index 6123c523bfd7..6bb2dd3c3a71 100644 --- a/Documentation/ABI/testing/sysfs-devices-power +++ b/Documentation/ABI/testing/sysfs-devices-power | |||
@@ -77,3 +77,73 @@ Description: | |||
77 | devices this attribute is set to "enabled" by bus type code or | 77 | devices this attribute is set to "enabled" by bus type code or |
78 | device drivers and in that cases it should be safe to leave the | 78 | device drivers and in that cases it should be safe to leave the |
79 | default value. | 79 | default value. |
80 | |||
81 | What: /sys/devices/.../power/wakeup_count | ||
82 | Date: September 2010 | ||
83 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
84 | Description: | ||
85 | The /sys/devices/.../wakeup_count attribute contains the number | ||
86 | of signaled wakeup events associated with the device. This | ||
87 | attribute is read-only. If the device is not enabled to wake up | ||
88 | the system from sleep states, this attribute is empty. | ||
89 | |||
90 | What: /sys/devices/.../power/wakeup_active_count | ||
91 | Date: September 2010 | ||
92 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
93 | Description: | ||
94 | The /sys/devices/.../wakeup_active_count attribute contains the | ||
95 | number of times the processing of wakeup events associated with | ||
96 | the device was completed (at the kernel level). This attribute | ||
97 | is read-only. If the device is not enabled to wake up the | ||
98 | system from sleep states, this attribute is empty. | ||
99 | |||
100 | What: /sys/devices/.../power/wakeup_hit_count | ||
101 | Date: September 2010 | ||
102 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
103 | Description: | ||
104 | The /sys/devices/.../wakeup_hit_count attribute contains the | ||
105 | number of times the processing of a wakeup event associated with | ||
106 | the device might prevent the system from entering a sleep state. | ||
107 | This attribute is read-only. If the device is not enabled to | ||
108 | wake up the system from sleep states, this attribute is empty. | ||
109 | |||
110 | What: /sys/devices/.../power/wakeup_active | ||
111 | Date: September 2010 | ||
112 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
113 | Description: | ||
114 | The /sys/devices/.../wakeup_active attribute contains either 1, | ||
115 | or 0, depending on whether or not a wakeup event associated with | ||
116 | the device is being processed (1). This attribute is read-only. | ||
117 | If the device is not enabled to wake up the system from sleep | ||
118 | states, this attribute is empty. | ||
119 | |||
120 | What: /sys/devices/.../power/wakeup_total_time_ms | ||
121 | Date: September 2010 | ||
122 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
123 | Description: | ||
124 | The /sys/devices/.../wakeup_total_time_ms attribute contains | ||
125 | the total time of processing wakeup events associated with the | ||
126 | device, in milliseconds. This attribute is read-only. If the | ||
127 | device is not enabled to wake up the system from sleep states, | ||
128 | this attribute is empty. | ||
129 | |||
130 | What: /sys/devices/.../power/wakeup_max_time_ms | ||
131 | Date: September 2010 | ||
132 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
133 | Description: | ||
134 | The /sys/devices/.../wakeup_max_time_ms attribute contains | ||
135 | the maximum time of processing a single wakeup event associated | ||
136 | with the device, in milliseconds. This attribute is read-only. | ||
137 | If the device is not enabled to wake up the system from sleep | ||
138 | states, this attribute is empty. | ||
139 | |||
140 | What: /sys/devices/.../power/wakeup_last_time_ms | ||
141 | Date: September 2010 | ||
142 | Contact: Rafael J. Wysocki <rjw@sisk.pl> | ||
143 | Description: | ||
144 | The /sys/devices/.../wakeup_last_time_ms attribute contains | ||
145 | the value of the monotonic clock corresponding to the time of | ||
146 | signaling the last wakeup event associated with the device, in | ||
147 | milliseconds. This attribute is read-only. If the device is | ||
148 | not enabled to wake up the system from sleep states, this | ||
149 | attribute is empty. | ||