mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] perf top overwrite mode
@ 2017-12-05 22:39 kan.liang
  2017-12-05 22:39 ` [PATCH 1/5] perf tools: remove stale perf evlist mmap read for backward kan.liang
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: kan.liang @ 2017-12-05 22:39 UTC (permalink / raw)
  To: acme, peterz, mingo, linux-kernel
  Cc: jolsa, wangnan0, namhyung, ak, Kan Liang

From: Kan Liang <kan.liang@intel.com>

perf_top__mmap_read has severe performance issue in
Knights Landing/Mill, when monitoring in heavy load system. It costs
several minutes to finish, which is unacceptable.

Currently, perf top is non overwrite mode. For non overwrite mode, it
tries to read everything in the ringbuffer and doesn't pause the
ringbuffer. Once there are lots of samples delivered persistently,
the processing time could be very long. Also, the latest samples could
be lost when the ringbuffer is full.

It's better to change it to overwrite mode, which takes a snapshot for
the system by pausing the ringbuffer and could significantly reducing
the processing time (from several minutes to several seconds).
Also, the overwrite mode always keep the latest samples.

Patch 1-3: Modify perf_mmap__read_catchup and perf_mmap__read_backward.
           Make them ready for overwrite mode
Patch 4: Swith perf top to overwrite mode
Patch 5: The latency could be still higher than refresh time in some
         extreme cases. Give user some hints to reduce the latency.

Kan Liang (5):
  perf tools: remove stale perf evlist mmap read for backward
  perf tools: rewrite perf mmap read for overwrite
  perf tools: reuse perf_mmap__read_catchup in perf_mmap__push
  perf top: switch to overwrite mode
  perf top: check the latency of perf_top__mmap_read

 tools/perf/builtin-top.c                |  40 ++++++-----
 tools/perf/tests/backward-ring-buffer.c |   9 ++-
 tools/perf/ui/browsers/hists.c          |  12 +++-
 tools/perf/util/evlist.c                |  17 -----
 tools/perf/util/evlist.h                |   4 --
 tools/perf/util/mmap.c                  | 119 +++++++++++++++-----------------
 tools/perf/util/mmap.h                  |   7 +-
 7 files changed, 102 insertions(+), 106 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-12-06  1:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-05 22:39 [PATCH 0/5] perf top overwrite mode kan.liang
2017-12-05 22:39 ` [PATCH 1/5] perf tools: remove stale perf evlist mmap read for backward kan.liang
2017-12-05 22:39 ` [PATCH 2/5] perf tools: rewrite perf mmap read for overwrite kan.liang
2017-12-05 22:39 ` [PATCH 3/5] perf tools: reuse perf_mmap__read_catchup in perf_mmap__push kan.liang
2017-12-05 22:39 ` [PATCH 4/5] perf top: switch to overwrite mode kan.liang
2017-12-06  1:58   ` Wangnan (F)
2017-12-05 22:39 ` [PATCH 5/5] perf top: check the latency of perf_top__mmap_read kan.liang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®