[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121105200747.GC7962@infradead.org>
Date: Mon, 5 Nov 2012 17:07:47 -0300
From: Arnaldo Carvalho de Melo <acme@...hat.com>
To: Stephane Eranian <eranian@...gle.com>
Cc: linux-kernel@...r.kernel.org, peterz@...radead.org, mingo@...e.hu,
ak@...ux.intel.com, jolsa@...hat.com, namhyung.kim@....com
Subject: Re: [PATCH v2 03/16] perf, core: Add a concept of a weightened sample
Em Mon, Nov 05, 2012 at 05:01:47PM -0300, Arnaldo Carvalho de Melo escreveu:
> > +
> > if (sample_type & PERF_SAMPLE_READ)
> > size += event->read_size;
> >
> > @@ -4080,6 +4083,9 @@ void perf_output_sample(struct perf_output_handle *handle,
> > if (sample_type & PERF_SAMPLE_PERIOD)
> > perf_output_put(handle, data->period);
> >
> > + if (sample_type & PERF_SAMPLE_WEIGHT)
> > + perf_output_put(handle, data->weight);
> > +
>
> Yeap, it should go after PERF_SAMPLE_STACK_USER
>
> > if (sample_type & PERF_SAMPLE_READ)
> > perf_output_read(handle, event);
> >
I mean this, on top of the above patch:
diff -u b/kernel/events/core.c b/kernel/events/core.c
--- b/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -4083,9 +4083,6 @@
if (sample_type & PERF_SAMPLE_PERIOD)
perf_output_put(handle, data->period);
- if (sample_type & PERF_SAMPLE_WEIGHT)
- perf_output_put(handle, data->weight);
-
if (sample_type & PERF_SAMPLE_READ)
perf_output_read(handle, event);
@@ -4175,6 +4172,9 @@
perf_output_sample_ustack(handle,
data->stack_user_size,
data->regs_user.regs);
+
+ if (sample_type & PERF_SAMPLE_WEIGHT)
+ perf_output_put(handle, data->weight);
}
void perf_prepare_sample(struct perf_event_header *header,
------------
To match what this patch series will do on a later patch, i.e.
parse the weight at the end of perf_evsel__parse_sample, after
it parses PERF_SAMPLE_READ, PERF_SAMPLE_CALLCHAIN, PERF_SAMPLE_RAW,
PERF_SAMPLE_BRANCH_STACK, PERF_SAMPLE_REGS_USER and
PERF_SAMPLE_STACK_USER:
+++ b/tools/perf/util/evsel.c
@@ -1020,6 +1020,11 @@ int perf_evsel__parse_sample(struct perf_evsel *evsel, union perf_event *event,
}
}
+ if (type & PERF_SAMPLE_WEIGHT) {
+ data->weight= *array;
+ array++;
+ }
+
return 0;
}
- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists