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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/