1. 08 4月, 2015 1 次提交
  2. 11 3月, 2015 1 次提交
  3. 03 3月, 2015 2 次提交
    • A
      perf sched: No need to keep the session around · ae536acf
      Arnaldo Carvalho de Melo 提交于
      We were keeping the session around just because we kept pointers to
      struct thread instances, but now we reference count them, so no need
      for deferring the perf_session__delete call to after we traverse the
      work_list entries.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-9agtck6jdr3rebdp39z1lo0e@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ae536acf
    • A
      perf tools: Reference count struct thread · f3b623b8
      Arnaldo Carvalho de Melo 提交于
      We need to do that to stop accumulating entries in the dead_threads
      linked list, i.e. we were keeping references to threads in struct hists
      that continue to exist even after a thread exited and was removed from
      the machine threads rbtree.
      
      We still keep the dead_threads list, but just for debugging, allowing us
      to iterate at any given point over the threads that still are referenced
      by things like struct hist_entry.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-3ejvfyed0r7ue61dkurzjux4@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f3b623b8
  4. 23 2月, 2015 1 次提交
  5. 09 10月, 2014 1 次提交
  6. 16 8月, 2014 1 次提交
  7. 14 8月, 2014 2 次提交
  8. 12 8月, 2014 1 次提交
  9. 18 7月, 2014 1 次提交
  10. 17 7月, 2014 1 次提交
  11. 01 6月, 2014 1 次提交
  12. 16 5月, 2014 2 次提交
  13. 13 5月, 2014 1 次提交
  14. 12 5月, 2014 3 次提交
  15. 16 4月, 2014 1 次提交
  16. 19 3月, 2014 1 次提交
    • R
      perf sched: Fixup header alignment in 'latency' output · 80790e0b
      Ramkumar Ramachandra 提交于
      Before:
      
       ---------------------------------------------------------------------------------------------------------------
        Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at     |
       ---------------------------------------------------------------------------------------------------------------
        ...                   |               |          |                  |                  |
        git:24540             |    336.622 ms |       10 | avg:    0.032 ms | max:    0.062 ms | max at: 115610.111046 s
        git:24541             |      0.457 ms |        1 | avg:    0.000 ms | max:    0.000 ms | max at:  0.000000 s
       -----------------------------------------------------------------------------------------
        TOTAL:                |    396.542 ms |      353 |
       ---------------------------------------------------
      
      After:
      
       -----------------------------------------------------------------------------------------------------------------
        Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at       |
       -----------------------------------------------------------------------------------------------------------------
        ...                   |               |          |                  |                  |
        git:24540             |    336.622 ms |       10 | avg:    0.032 ms | max:    0.062 ms | max at: 115610.111046 s
        git:24541             |      0.457 ms |        1 | avg:    0.000 ms | max:    0.000 ms | max at:      0.000000 s
       -----------------------------------------------------------------------------------------------------------------
        TOTAL:                |    396.542 ms |      353 |
       ---------------------------------------------------
      Signed-off-by: NRamkumar Ramachandra <artagnon@gmail.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/r/1395065901-25740-1-git-send-email-artagnon@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      80790e0b
  17. 28 12月, 2013 1 次提交
  18. 07 11月, 2013 1 次提交
  19. 04 11月, 2013 1 次提交
  20. 23 10月, 2013 2 次提交
  21. 22 10月, 2013 1 次提交
  22. 29 8月, 2013 1 次提交
  23. 12 8月, 2013 4 次提交
  24. 13 7月, 2013 2 次提交
  25. 09 7月, 2013 1 次提交
  26. 01 4月, 2013 1 次提交
    • A
      Revert "perf sched: Handle PERF_RECORD_EXIT events" · 1c6763cb
      Arnaldo Carvalho de Melo 提交于
      This reverts commit 0439539f.
      
      This caused this segfault:
      
      [root@sandy linux]# perf sched rec
      ^C[ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 1.306 MB perf.data (~57062 samples) ]
      perf
      [root@sandy linux]# perf sched lat
      perf: builtin-sched.c:781: thread_atoms_search: Assertion `!(thread != atoms->thread)' failed.
      Aborted (core dumped)
      [root@sandy linux]#
      
      Further investigation is needed to check that even with machine__remove_thread()
      not really deleting the thread referenced in the PERF_RECORD_EXIT (it goes to
      machine->dead_threads, because references may still exist to them in things like
       hist, etc) some event later comes for this dead thread and then
      machine__findnew_thread() will create a new thead instance that will not be the
      same as the one referenced by work_atoms->thread in thread_atoms_search().
      
      For now just revert this patch to get the 'perf sched lat' back working.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org
      Link: http://lkml.kernel.org/n/tip-hg4s6e5txiwqe00h8rdg1sin@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1c6763cb
  27. 25 1月, 2013 1 次提交
  28. 29 10月, 2012 1 次提交
  29. 07 10月, 2012 2 次提交
    • A
      perf sched: Handle PERF_RECORD_EXIT events · 0439539f
      Arnaldo Carvalho de Melo 提交于
      Noticed sched wasn't handling those events while introducing
      perf_event__process_{fork,exit}.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-035rzjtnv9ri8sssi7ojjjq0@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0439539f
    • A
      perf event: No need to create a thread when handling PERF_RECORD_EXIT · f62d3f0f
      Arnaldo Carvalho de Melo 提交于
      When we were processing a PERF_RECORD_EXIT event we first used
      machine__findnew_thread for both the thread exiting and for its parent,
      only to use just the thread struct associated with the one exiting, and
      to just delete it.
      
      If it existed, i.e. not created at this very moment in
      machine__findnew_thread, it will be moved to the machine->dead_threads
      linked list, because we may have hist_entries pointing to it, but if it
      was created just do be deleted, it will just sit there with no
      references at all.
      
      Use the new machine__find_thread() method so that if it is not there, we
      don't create it.
      
      As a bonus the parent thread will also not be created at this point.
      
      Create process_fork() and process_exit() helpers to use this and make
      the builtins use it instead of the generic process_task(), ditched by
      this patch.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-z7n2y98ebjyrvmytaope4vdl@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f62d3f0f