Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1230979
| From | kan.liang@intel.com |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH RFC 01/10] perf,tools: Add 'C' event/group modifier |
| Date | 2015-09-22 23:40 +0200 |
| Message-ID | <qbDs7-IB-45@gated-at.bofh.it> (permalink) |
| References | <qbDs5-IB-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Kan Liang <kan.liang@intel.com>
Add a new event/group modifier 'C' to mark the event which will be read
counter statistics during sampling.
Signed-off-by: Kan Liang <kan.liang@intel.com>
---
tools/perf/util/evsel.h | 1 +
tools/perf/util/parse-events.c | 8 +++++++-
tools/perf/util/parse-events.l | 2 +-
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index 7906666..d017795 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -115,6 +115,7 @@ struct perf_evsel {
int exclude_GH;
int nr_members;
int sample_read;
+ int counter_read;
unsigned long *per_pkg_mask;
struct perf_evsel *leader;
char *group_name;
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 61c2bc2..95b43a4 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -860,6 +860,7 @@ struct event_modifier {
int precise;
int exclude_GH;
int sample_read;
+ int counter_read;
int pinned;
};
@@ -874,6 +875,7 @@ static int get_event_modifier(struct event_modifier *mod, char *str,
int eI = evsel ? evsel->attr.exclude_idle : 0;
int precise = evsel ? evsel->attr.precise_ip : 0;
int sample_read = 0;
+ int counter_read = 0;
int pinned = evsel ? evsel->attr.pinned : 0;
int exclude = eu | ek | eh;
@@ -911,6 +913,8 @@ static int get_event_modifier(struct event_modifier *mod, char *str,
eG = 1;
} else if (*str == 'S') {
sample_read = 1;
+ } else if (*str == 'C') {
+ counter_read = 1;
} else if (*str == 'D') {
pinned = 1;
} else
@@ -941,6 +945,7 @@ static int get_event_modifier(struct event_modifier *mod, char *str,
mod->precise = precise;
mod->exclude_GH = exclude_GH;
mod->sample_read = sample_read;
+ mod->counter_read = counter_read;
mod->pinned = pinned;
return 0;
@@ -955,7 +960,7 @@ static int check_modifier(char *str)
char *p = str;
/* The sizeof includes 0 byte as well. */
- if (strlen(str) > (sizeof("ukhGHpppSDI") - 1))
+ if (strlen(str) > (sizeof("ukhGHpppSCDI") - 1))
return -1;
while (*p) {
@@ -994,6 +999,7 @@ int parse_events__modifier_event(struct list_head *list, char *str, bool add)
evsel->attr.exclude_idle = mod.eI;
evsel->exclude_GH = mod.exclude_GH;
evsel->sample_read = mod.sample_read;
+ evsel->counter_read = mod.counter_read;
if (perf_evsel__is_group_leader(evsel))
evsel->attr.pinned = mod.pinned;
diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
index 936d566..e6c5790 100644
--- a/tools/perf/util/parse-events.l
+++ b/tools/perf/util/parse-events.l
@@ -122,7 +122,7 @@ num_raw_hex [a-fA-F0-9]+
name [a-zA-Z_*?][a-zA-Z0-9_*?.]*
name_minus [a-zA-Z_*?][a-zA-Z0-9\-_*?.]*
/* If you add a modifier you need to update check_modifier() */
-modifier_event [ukhpGHSDI]+
+modifier_event [ukhpGHSCDI]+
modifier_bp [rwx]{1,3}
%%
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH RFC 00/10] counter read during perf sampling kan.liang@intel.com - 2015-09-22 23:40 +0200
[PATCH RFC 01/10] perf,tools: Add 'C' event/group modifier kan.liang@intel.com - 2015-09-22 23:40 +0200
[PATCH RFC 02/10] perf,tools: Enable counter statistic read for perf record kan.liang@intel.com - 2015-09-22 23:40 +0200
Re: [PATCH RFC 00/10] counter read during perf sampling Jiri Olsa <jolsa@redhat.com> - 2015-09-24 10:20 +0200
RE: [PATCH RFC 00/10] counter read during perf sampling "Liang, Kan" <kan.liang@intel.com> - 2015-09-24 21:50 +0200
Re: [PATCH RFC 00/10] counter read during perf sampling Jiri Olsa <jolsa@redhat.com> - 2015-09-25 00:30 +0200
RE: [PATCH RFC 00/10] counter read during perf sampling "Liang, Kan" <kan.liang@intel.com> - 2015-09-25 17:00 +0200
Re: [PATCH RFC 00/10] counter read during perf sampling Jiri Olsa <jolsa@redhat.com> - 2015-09-27 22:00 +0200
RE: [PATCH RFC 00/10] counter read during perf sampling "Liang, Kan" <kan.liang@intel.com> - 2015-09-28 17:20 +0200
csiph-web