[PATCH 0/9] perf: Adding better precise_ip field handling

From: Jiri Olsa
Date: Thu May 09 2013 - 09:34:56 EST


hi,
adding sysfs attribute to specify the maximum allowed value
for perf_event_attr::precise_ip field.

Adding functionality for simple 'p' modifier and 'precise' term
to get the maximum allowed value for perf_event_attr::precise_ip
field.

Following events:
-e 'cycles:p'
-e 'cpu/cycles,precise/'

get maximum allowed value for perf_event_attr::precise_ip field.

Following event:
-e 'cycles:pp'
-e 'cpu/cycles,precise=2/'

get perf_event_attr::precise_ip == 2.

If precise is disabled completely (sysfs precise == 0), we display
warning and continue with standard non-PEBS event.

If precise attribute is not supported '1' is used as current default.

Adding automated test to test precise event could be properly created
(if sysfs precise is supported). And customizing parsing tests with
precise modifier.

Updating Documentation/ABI with 'precise' attribute and
also forgotten 'rdpmc' attribute.


thanks,
jirka

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>

---
Andi Kleen (1):
perf tools: Add a precise event qualifier

Jiri Olsa (8):
perf x86: Add precise sysfs cpu pmu attribute
perf tools: Add precise object to interface sysfs precise
perf tests: Add precise event automated test
perf tools: Set maximum precise value for event 'p' modifier
perf tools: Set maximum precise value for 'precise' term
perf tests: Add automated precise term test
perf: Document the ABI for 'precise' sysfs attribute
perf: Document the ABI for 'rdpmc' sysfs attribute

Documentation/ABI/testing/sysfs-bus-event_source-devices-cpu-precise | 10 ++++
Documentation/ABI/testing/sysfs-bus-event_source-devices-cpu-rdpmc | 8 +++
arch/x86/kernel/cpu/perf_event.c | 34 +++++++++----
tools/perf/Makefile | 2 +
tools/perf/tests/builtin-test.c | 4 ++
tools/perf/tests/parse-events.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
tools/perf/tests/precise.c | 49 ++++++++++++++++++
tools/perf/tests/tests.h | 1 +
tools/perf/util/parse-events.c | 69 ++++++++++++++++++++++++-
tools/perf/util/parse-events.h | 3 ++
tools/perf/util/parse-events.l | 1 +
tools/perf/util/parse-events.y | 2 +-
tools/perf/util/precise.c | 44 ++++++++++++++++
tools/perf/util/util.h | 3 ++
14 files changed, 379 insertions(+), 21 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-cpu-precise
create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-cpu-rdpmc
create mode 100644 tools/perf/tests/precise.c
create mode 100644 tools/perf/util/precise.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/