• Namhyung Kim's avatar
    perf: Generate EXIT event only once per task context · d610d98b
    Namhyung Kim authored
    perf_event_task_event() iterates pmu list and generate events
    for each eligible pmu context.  But if task_event has task_ctx
    like in EXIT it'll generate events even though the pmu doesn't
    have an eligible one. Fix it by moving the code to proper
    places.
    
    Before this patch:
    
      $ perf record -n true
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.006 MB perf.data (~248 samples) ]
    
      $ perf report -D | tail
      Aggregated stats:
                 TOTAL events:         73
                  MMAP events:         67
                  COMM events:          2
                  EXIT events:          4
      cycles stats:
                 TOTAL events:         73
                  MMAP events:         67
                  COMM events:          2
                  EXIT events:          4
    
    After this patch:
    
      $ perf report -D | tail
      Aggregated stats:
                 TOTAL events:         70
                  MMAP events:         67
                  COMM events:          2
                  EXIT events:          1
      cycles stats:
                 TOTAL events:         70
                  MMAP events:         67
                  COMM events:          2
                  EXIT events:          1
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung.kim@lge.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1363332433-7637-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    d610d98b
core.c 174 KB