• Baolin Wang's avatar
    alarmtimer: Add tracepoints for alarm timers · 4a057549
    Baolin Wang authored
    Alarm timers are one of the mechanisms to wake up a system from suspend,
    but there exist no tracepoints to analyse which process/thread armed an
    alarmtimer.
    
    Add tracepoints for start/cancel/expire of individual alarm timers and one
    for tracing the suspend time decision when to resume the system.
    
    The following trace excerpt illustrates the new mechanism:
    
    Binder:3292_2-3304  [000] d..2   149.981123: alarmtimer_cancel:
    alarmtimer:ffffffc1319a7800 type:REALTIME
    expires:1325463120000000000 now:1325376810370370245
    
    Binder:3292_2-3304  [000] d..2   149.981136: alarmtimer_start:
    alarmtimer:ffffffc1319a7800 type:REALTIME
    expires:1325376840000000000 now:1325376810370384591
    
    Binder:3292_9-3953  [000] d..2   150.212991: alarmtimer_cancel:
    alarmtimer:ffffffc1319a5a00 type:BOOTTIME
    expires:179552000000 now:150154008122
    
    Binder:3292_9-3953  [000] d..2   150.213006: alarmtimer_start:
    alarmtimer:ffffffc1319a5a00 type:BOOTTIME
    expires:179551000000 now:150154025622
    
    system_server-3000  [002] ...1  162.701940: alarmtimer_suspend:
    alarmtimer type:REALTIME expires:1325376840000000000
    
    The wakeup time which is selected at suspend time allows to map it back to
    the task arming the timer: Binder:3292_2.
    
    [ tglx: Store alarm timer expiry time instead of some useless RTC relative
      	information, add proper type information for wakeups which are
      	handled via the clock_nanosleep/freezer and massage the changelog. ]
    Signed-off-by: default avatarBaolin Wang <baolin.wang@linaro.org>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Link: http://lkml.kernel.org/r/1480372524-15181-5-git-send-email-john.stultz@linaro.orgSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    4a057549
alarmtimer.h 2.01 KB