1. 12 11月, 2013 4 次提交
    • A
      perf machine: Introduce synthesize_threads method out of open coded equivalent · 58d925dc
      Arnaldo Carvalho de Melo 提交于
      Further simplifications to be done on following patch, as most tools
      don't use the callback, using instead just the canned
      machine__process_event one.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      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: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-r1m0vuuj3cat4bampno9yc8d@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      58d925dc
    • A
      perf record: Synthesize non-exec MMAP records when --data used · 62605dc5
      Arnaldo Carvalho de Melo 提交于
      When perf_event_attr.mmap_data is set the kernel will generate
      PERF_RECORD_MMAP events when non-exec (data, SysV mem) mmaps are
      created, so we need to synthesize from /proc/pid/maps for existing
      threads, as we do for exec mmaps.
      
      Right now just 'perf record' does it, but any other tool that uses
      perf_event__synthesize_thread(s|map) can request it.
      Reported-by: NDon Zickus <dzickus@redhat.com>
      Tested-by: NDon Zickus <dzickus@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Bill Gray <bgray@redhat.com>
      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: Joe Mario <jmario@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Richard Fowles <rfowles@redhat.com>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-ihwzraikx23ian9txinogvv2@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      62605dc5
    • A
      perf evsel: Remove idx parm from constructor · ef503831
      Arnaldo Carvalho de Melo 提交于
      Most uses of the evsel constructor are followed by a call to
      perf_evlist__add with an idex of evlist->nr_entries, so make rename
      the current constructor to perf_evsel__new_idx and remove the need
      for passing the constructor for the common case.
      
      We still need the new_idx variant because the way groups are handled,
      with evsel->nr_members holding the number of entries in an evlist,
      partitioning the evlist into sublists inside a single linked list.
      
      This asks for a clarifying refactoring, but for now simplify the non
      parser cases, so that tool writers don't have to bother with evsel idx
      setting.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      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: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-zy9tskx6jqm2rmw7468zze2a@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ef503831
    • P
      perf ui tui progress: Don't force a refresh during progress update · d53e57d0
      Patrick Palka 提交于
      Each call to tui_progress__update() would forcibly refresh the entire
      screen.  This is somewhat inefficient and causes noticable flickering
      during the startup of perf-report, especially on large/slow terminals.
      
      It looks like the force-refresh in tui_progress__update() serves no
      purpose other than to clear the screen so that the progress bar of a
      previous operation does not subsume that of a subsequent operation.  But
      we can do just that in a much more efficient manner by clearing only the
      region that a previous progress bar may have occupied before repainting
      the new progress bar.  Then the force-refresh could be removed with no
      change in visuals.
      
      This patch disables the slow force-refresh in tui_progress__update() and
      instead calls SLsmg_fill_region() on the entire area that the progress
      bar may occupy before repainting it.  This change makes the startup of
      perf-report much faster and appear much "smoother".
      
      It turns out that this was a big bottleneck in the startup speed of
      perf-report -- with this patch, perf-report starts up ~2x faster (1.1s
      vs 0.55s) on my machines.  (These numbers were measured by running "time
      perf report" on an 8MB perf.data and pressing 'q' immediately.)
      Signed-off-by: NPatrick Palka <patrick@parcs.ath.cx>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1382747149-9716-1-git-send-email-patrick@parcs.ath.cxSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d53e57d0
  2. 07 11月, 2013 7 次提交
  3. 06 11月, 2013 8 次提交
  4. 05 11月, 2013 3 次提交
  5. 04 11月, 2013 18 次提交