Messages in this thread | | | From | Kevin Hilman <> | Subject | Re: PM / Wakeup: Introduce wakeup source objects and event statistics (v2) | Date | Thu, 16 Sep 2010 17:41:14 -0700 |
| |
"Rafael J. Wysocki" <rjw@sisk.pl> writes:
> From: Rafael J. Wysocki <rjw@sisk.pl> > Subject: PM / Wakeup: Introduce wakeup source objects and event statistics (v2) > > 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>
Hi Rafael,
This looks like a really useful feature. Was doing some experiments with this on OMAP, and found a minor cut-and-paste bug in the Documentation file:
[...]
> +What: /sys/devices/.../power/wakeup_max_time_ms > +Date: September 2010 > +Contact: Rafael J. Wysocki <rjw@sisk.pl> > +Description: > + The /sys/devices/.../wakeup_max_time_ms attribute contains > + the maximum time of processing a single wakeup event associated > + with the device, in milliseconds. This attribute is read-only. > + If the device is not enabled to wake up the system from sleep > + states, this attribute is empty. > + > +What: /sys/devices/.../power/wakeup_max_time_ms ^^^ s/max/last/ for this one.
> +Date: September 2010 > +Contact: Rafael J. Wysocki <rjw@sisk.pl> > +Description: > + The /sys/devices/.../wakeup_last_time_ms attribute contains > + the value of the monotonic clock corresponding to the time of > + signaling the last wakeup event associated with the device, in > + milliseconds. This attribute is read-only. If the device is > + not enabled to wake up the system from sleep states, this > + attribute is empty.
Kevin
| |