Re: [PATCH 1/1] perf tools: Add missing user space support forconfig1/config2

From: Ingo Molnar
Date: Fri Apr 22 2011 - 02:35:14 EST



* Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> wrote:

> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> The offcore_msr perf kernel code was merged into 2.6.39-rc*, but the
> user space bits were not. This made it impossible to set the extra mask
> and actually do the OFFCORE profiling
>
> This patch fixes this. It adds a new syntax ':' to raw events to specify
> additional event masks. I also added support for setting config2, even
> though that is not needed currently.
>
> [Note: the original version back in time used , -- but that actually
> conflicted with event lists, so now it's :]
>
> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Stephane Eranian <eranian@xxxxxxxxx>
> Cc: Lin Ming <ming.m.lin@xxxxxxxxx>
> Link: http://lkml.kernel.org/r/1302658203-4239-1-git-send-email-andi@xxxxxxxxxxxxxx
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/Documentation/perf-list.txt | 11 +++++++++++
> tools/perf/util/parse-events.c | 18 +++++++++++++++++-
> 2 files changed, 28 insertions(+), 1 deletions(-)
>
> diff --git a/tools/perf/Documentation/perf-list.txt b/tools/perf/Documentation/perf-list.txt
> index 7a527f7..f19f1e5 100644
> --- a/tools/perf/Documentation/perf-list.txt
> +++ b/tools/perf/Documentation/perf-list.txt
> @@ -61,6 +61,17 @@ raw encoding of 0x1A8 can be used:
> You should refer to the processor specific documentation for getting these
> details. Some of them are referenced in the SEE ALSO section below.
>
> +Some raw events -- like the Intel OFFCORE events -- support additional
> +parameters. These can be appended after a ':'.
> +
> +For example on a multi socket Intel Nehalem:
> +
> + perf stat -e r1b7:20ff -a sleep 1
> +
> +Profile the OFFCORE_RESPONSE.ANY_REQUEST with event mask REMOTE_DRAM_0
> +that measures any access to DRAM on another socket. Upto two parameters can
> +be specified with additional ':'

This needs to be a *lot* more user friendly. Users do not want to type in
stupid hexa magic numbers to get profiling. We have moved beyond the oprofile
era really.

Unless there's proper generalized and human usable support i'm leaning towards
turning off the offcore user-space accessible raw bits for now, and use them
only kernel-internally, for the cache events.

Thanks,

Ingo
--
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/