• Soeren Sandmann's avatar
    perf events: Fix swevent hrtimer sampling by keeping track of remaining time... · 721a669b
    Soeren Sandmann authored
    perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers
    
    Make the hrtimer based events work for sysprof.
    
    Whenever a swevent is scheduled out, the hrtimer is canceled.
    When it is scheduled back in, the timer is restarted. This
    happens every scheduler tick, which means the timer never
    expired because it was getting repeatedly restarted over and
    over with the same period.
    
    To fix that, save the remaining time when disabling; when
    reenabling, use that saved time as the period instead of the
    user-specified sampling period.
    
    Also, move the starting and stopping of the hrtimers to helper
    functions instead of duplicating the code.
    Signed-off-by: default avatarSøren Sandmann Pedersen <sandmann@redhat.com>
    LKML-Reference: <ye8vdi7mluz.fsf@camel16.daimi.au.dk>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    721a669b
perf_event.c 116 KB