Re: [PATCH 3/4] perf tools: add core support for sampling intr machine state regs

From: Jiri Olsa
Date: Fri Jul 11 2014 - 04:25:53 EST


On Wed, Jul 09, 2014 at 12:15:58AM +0200, Stephane Eranian wrote:
> Add the infrastructure to setup, collect and report the interrupt
> machine state regs which can be captured by the kernel.
>

SNIP

> index 8606175..00e45d1 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -626,6 +626,11 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
> if (opts->call_graph_enabled)
> perf_evsel__config_callgraph(evsel, opts);
>
> + if (opts->sample_intr_regs) {
> + attr->sample_regs_intr = PERF_REGS_MASK;
> + perf_evsel__set_sample_bit(evsel, REGS_INTR);
> + }
> +
> if (target__has_cpu(&opts->target))
> perf_evsel__set_sample_bit(evsel, CPU);
>
> @@ -979,6 +984,7 @@ static size_t perf_event_attr__fprintf(struct perf_event_attr *attr, FILE *fp)
> ret += PRINT_ATTR_X64(branch_sample_type);
> ret += PRINT_ATTR_X64(sample_regs_user);
> ret += PRINT_ATTR_U32(sample_stack_user);
> + ret += PRINT_ATTR_X64(sample_regs_intr);
>
> ret += fprintf(fp, "%.60s\n", graph_dotted_line);
>
> @@ -1468,6 +1474,23 @@ int perf_evsel__parse_sample(struct perf_evsel *evsel, union perf_event *event,
> array++;
> }
>
> + data->intr_regs.abi = PERF_SAMPLE_REGS_ABI_NONE;

not necessary, data is zeroed in the top

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