"Rafael J. Wysocki" <rjw@xxxxxxx> writes: > From: Rafael J. Wysocki <rjw@xxxxxxx> > 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@xxxxxxx> 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@xxxxxxx> > +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@xxxxxxx> > +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 _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm