Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1740644 > unrolled thread

Re: [PATCH RFC V3 5/5] perf top: switch back to overwrite mode

Started byJiri Olsa <jolsa@redhat.com>
First post2017-09-27 14:10 +0200
Last post2017-09-27 14:10 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH RFC V3 5/5] perf top: switch back to overwrite mode Jiri Olsa <jolsa@redhat.com> - 2017-09-27 14:10 +0200

#1740644 — Re: [PATCH RFC V3 5/5] perf top: switch back to overwrite mode

FromJiri Olsa <jolsa@redhat.com>
Date2017-09-27 14:10 +0200
SubjectRe: [PATCH RFC V3 5/5] perf top: switch back to overwrite mode
Message-ID<uujk5-2b5-3@gated-at.bofh.it>
On Mon, Sep 25, 2017 at 01:23:08PM -0700, kan.liang@intel.com wrote:
> 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.
> 
> perf top was overwrite mode. But it is changed to non overwrite mode
> since commit 93fc64f14472 ("perf top: Switch to non overwrite mode").
> For non overwrite mode, it tries to read everything in the ring buffer
> and does not check the messup. Once there are lots of samples delivered
> shortly, the processing time could be very long.
> Knights Landing/Mill as a manycore processor contains a large number of
> small cores. Because of the huge core number, it will generated lots of
> samples in a heavy load system. Also, since the huge sample#, the mmap
> writer probably bite the tail and mess up the samples.
> 
> Switching to overwrite mode, which dropping the unsure mmap entries,
> significantly speeds up the whole progress.
> Considering the real time requirement for perf top, it should switch
> back to overwrite mode.
> 
> Only warning once if the messup is detected.
> Providing some hints to users.
> 
> Signed-off-by: Kan Liang <kan.liang@intel.com>
> ---
>  tools/perf/builtin-top.c | 2 +-
>  tools/perf/util/evlist.c | 5 ++++-
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> index 477a869..4b4af34 100644
> --- a/tools/perf/builtin-top.c
> +++ b/tools/perf/builtin-top.c
> @@ -902,7 +902,7 @@ static int perf_top__start_counters(struct perf_top *top)
>  		}
>  	}
>  
> -	if (perf_evlist__mmap(evlist, opts->mmap_pages, false) < 0) {
> +	if (perf_evlist__mmap(evlist, opts->mmap_pages, true) < 0) {


hum, I thought that it's not as simple as using 'true' in here,
because of the issue explained in here:
  9ecda41acb97 perf/core: Add ::write_backward attribute to perf event

jirka

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web