From: Jiri Olsa <jolsa@redhat.com> To: Ian Rogers <irogers@google.com> Cc: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Namhyung Kim <namhyung@kernel.org>, Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>, Yonghong Song <yhs@fb.com>, Andrii Nakryiko <andriin@fb.com>, John Fastabend <john.fastabend@gmail.com>, KP Singh <kpsingh@chromium.org>, Kajol Jain <kjain@linux.ibm.com>, Andi Kleen <ak@linux.intel.com>, John Garry <john.garry@huawei.com>, Jin Yao <yao.jin@linux.intel.com>, Kan Liang <kan.liang@linux.intel.com>, Cong Wang <xiyou.wangcong@gmail.com>, Kim Phillips <kim.phillips@amd.com>, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org, Stephane Eranian <eranian@google.com> Subject: Re: [RFC PATCH 0/7] Share events between metrics Date: Thu, 7 May 2020 15:49:39 +0200 [thread overview] Message-ID: <20200507134939.GA2804092@krava> (raw) In-Reply-To: <20200507081436.49071-1-irogers@google.com> On Thu, May 07, 2020 at 01:14:29AM -0700, Ian Rogers wrote: > Metric groups contain metrics. Metrics create groups of events to > ideally be scheduled together. Often metrics refer to the same events, > for example, a cache hit and cache miss rate. Using separate event > groups means these metrics are multiplexed at different times and the > counts don't sum to 100%. More multiplexing also decreases the > accuracy of the measurement. > > This change orders metrics from groups or the command line, so that > the ones with the most events are set up first. Later metrics see if > groups already provide their events, and reuse them if > possible. Unnecessary events and groups are eliminated. > > RFC because: > - without this change events within a metric may get scheduled > together, after they may appear as part of a larger group and be > multiplexed at different times, lowering accuracy - however, less > multiplexing may compensate for this. > - libbpf's hashmap is used, however, libbpf is an optional > requirement for building perf. > - other things I'm not thinking of. hi, I can't apply this, what branch/commit is this based on? Applying: perf expr: migrate expr ids table to libbpf's hashmap error: patch failed: tools/perf/tests/pmu-events.c:428 error: tools/perf/tests/pmu-events.c: patch does not apply error: patch failed: tools/perf/util/expr.h:2 error: tools/perf/util/expr.h: patch does not apply error: patch failed: tools/perf/util/expr.y:73 error: tools/perf/util/expr.y: patch does not apply Patch failed at 0001 perf expr: migrate expr ids table to libbpf's hashmap thanks, jirka > > Thanks! > > Ian Rogers (7): > perf expr: migrate expr ids table to libbpf's hashmap > perf metricgroup: change evlist_used to a bitmap > perf metricgroup: free metric_events on error > perf metricgroup: always place duration_time last > perf metricgroup: delay events string creation > perf metricgroup: order event groups by size > perf metricgroup: remove duped metric group events > > tools/perf/tests/expr.c | 32 ++--- > tools/perf/tests/pmu-events.c | 22 ++-- > tools/perf/util/expr.c | 125 ++++++++++-------- > tools/perf/util/expr.h | 22 ++-- > tools/perf/util/expr.y | 22 +--- > tools/perf/util/metricgroup.c | 242 +++++++++++++++++++++------------- > tools/perf/util/stat-shadow.c | 46 ++++--- > 7 files changed, 280 insertions(+), 231 deletions(-) > > -- > 2.26.2.526.g744177e7f7-goog >
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Olsa <jolsa@redhat.com> To: Ian Rogers <irogers@google.com> Cc: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Namhyung Kim <namhyung@kernel.org>, Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>, Yonghong Song <yhs@fb.com>, Andrii Nakryiko <andriin@fb.com>, John Fastabend <john.fastabend@gmail.com>, KP Singh <kpsingh@chromium.org>, Kajol Jain <kjain@linux.ibm.com>, Andi Kleen <ak@linux.intel.com>, John Garry <john.garry@huawei.com>, Jin Yao <yao.jin@linux.intel.com>, Kan Liang <kan.liang@linux.intel.com>, Cong Wang <xiyou.wangcong@gmail.com>Ki Subject: Re: [RFC PATCH 0/7] Share events between metrics Date: Thu, 7 May 2020 15:49:39 +0200 [thread overview] Message-ID: <20200507134939.GA2804092@krava> (raw) In-Reply-To: <20200507081436.49071-1-irogers@google.com> On Thu, May 07, 2020 at 01:14:29AM -0700, Ian Rogers wrote: > Metric groups contain metrics. Metrics create groups of events to > ideally be scheduled together. Often metrics refer to the same events, > for example, a cache hit and cache miss rate. Using separate event > groups means these metrics are multiplexed at different times and the > counts don't sum to 100%. More multiplexing also decreases the > accuracy of the measurement. > > This change orders metrics from groups or the command line, so that > the ones with the most events are set up first. Later metrics see if > groups already provide their events, and reuse them if > possible. Unnecessary events and groups are eliminated. > > RFC because: > - without this change events within a metric may get scheduled > together, after they may appear as part of a larger group and be > multiplexed at different times, lowering accuracy - however, less > multiplexing may compensate for this. > - libbpf's hashmap is used, however, libbpf is an optional > requirement for building perf. > - other things I'm not thinking of. hi, I can't apply this, what branch/commit is this based on? Applying: perf expr: migrate expr ids table to libbpf's hashmap error: patch failed: tools/perf/tests/pmu-events.c:428 error: tools/perf/tests/pmu-events.c: patch does not apply error: patch failed: tools/perf/util/expr.h:2 error: tools/perf/util/expr.h: patch does not apply error: patch failed: tools/perf/util/expr.y:73 error: tools/perf/util/expr.y: patch does not apply Patch failed at 0001 perf expr: migrate expr ids table to libbpf's hashmap thanks, jirka > > Thanks! > > Ian Rogers (7): > perf expr: migrate expr ids table to libbpf's hashmap > perf metricgroup: change evlist_used to a bitmap > perf metricgroup: free metric_events on error > perf metricgroup: always place duration_time last > perf metricgroup: delay events string creation > perf metricgroup: order event groups by size > perf metricgroup: remove duped metric group events > > tools/perf/tests/expr.c | 32 ++--- > tools/perf/tests/pmu-events.c | 22 ++-- > tools/perf/util/expr.c | 125 ++++++++++-------- > tools/perf/util/expr.h | 22 ++-- > tools/perf/util/expr.y | 22 +--- > tools/perf/util/metricgroup.c | 242 +++++++++++++++++++++------------- > tools/perf/util/stat-shadow.c | 46 ++++--- > 7 files changed, 280 insertions(+), 231 deletions(-) > > -- > 2.26.2.526.g744177e7f7-goog >
next prev parent reply other threads:[~2020-05-07 13:50 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-07 8:14 [RFC PATCH 0/7] Share events between metrics Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 1/7] perf expr: migrate expr ids table to libbpf's hashmap Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 2/7] perf metricgroup: change evlist_used to a bitmap Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 3/7] perf metricgroup: free metric_events on error Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 4/7] perf metricgroup: always place duration_time last Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 5/7] perf metricgroup: delay events string creation Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 6/7] perf metricgroup: order event groups by size Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 8:14 ` [RFC PATCH 7/7] perf metricgroup: remove duped metric group events Ian Rogers 2020-05-07 8:14 ` Ian Rogers 2020-05-07 13:49 ` Jiri Olsa [this message] 2020-05-07 13:49 ` [RFC PATCH 0/7] Share events between metrics Jiri Olsa 2020-05-07 14:11 ` Ian Rogers 2020-05-07 14:11 ` Ian Rogers 2020-05-07 17:48 ` Andi Kleen 2020-05-07 17:48 ` Andi Kleen 2020-05-07 18:15 ` Ian Rogers 2020-05-07 18:15 ` Ian Rogers 2020-05-07 21:46 ` Andi Kleen 2020-05-07 21:46 ` Andi Kleen 2020-05-08 5:43 ` Ian Rogers 2020-05-08 5:43 ` Ian Rogers 2020-12-15 15:08 ` Paul A. Clarke 2020-12-15 18:39 ` Andi Kleen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200507134939.GA2804092@krava \ --to=jolsa@redhat.com \ --cc=acme@kernel.org \ --cc=ak@linux.intel.com \ --cc=alexander.shishkin@linux.intel.com \ --cc=andriin@fb.com \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=daniel@iogearbox.net \ --cc=eranian@google.com \ --cc=irogers@google.com \ --cc=john.fastabend@gmail.com \ --cc=john.garry@huawei.com \ --cc=kafai@fb.com \ --cc=kan.liang@linux.intel.com \ --cc=kim.phillips@amd.com \ --cc=kjain@linux.ibm.com \ --cc=kpsingh@chromium.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-perf-users@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mingo@redhat.com \ --cc=namhyung@kernel.org \ --cc=netdev@vger.kernel.org \ --cc=peterz@infradead.org \ --cc=songliubraving@fb.com \ --cc=xiyou.wangcong@gmail.com \ --cc=yao.jin@linux.intel.com \ --cc=yhs@fb.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.