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/

Reply via email to