• F
    perf: Make clock software events consistent with general exclusion rules · df8290bf
    Frederic Weisbecker 提交于
    The cpu/task clock events implement their own version of exclusion
    on top of exclude_user and exclude_kernel.
    
    The result is that when the event triggered in the kernel but we
    have exclude_kernel set, we try to rewind using task_pt_regs.
    There are two side effects of this:
    
    - we call task_pt_regs even on kernel threads, which doesn't give
      us the desired result.
    - if the event occured in the kernel, we shouldn't rewind to the
      user context. We want to actually ignore the event.
    
    get_irq_regs() will always give us the right interrupted context, so
    use its result and submit it to perf_exclude_context() that knows
    when an event must be ignored.
    Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    df8290bf
perf_event.c 128.3 KB