Em Mon, Nov 05, 2012 at 02:50:50PM +0100, Stephane Eranian escreveu:
> --- a/include/uapi/linux/perf_event.h
> +++ b/include/uapi/linux/perf_event.h
>  #define PERF_ATTR_SIZE_VER0  64      /* sizeof first published struct */
> @@ -559,6 +562,7 @@ enum perf_event_type {
>        *      { u64                   stream_id;} && PERF_SAMPLE_STREAM_ID
>        *      { u32                   cpu, res; } && PERF_SAMPLE_CPU
>        *      { u64                   period;   } && PERF_SAMPLE_PERIOD
> +      *      { u64                   weight;   } && PERF_SAMPLE_WEIGHT
>        *
>        *      { struct read_format    values;   } && PERF_SAMPLE_READ

This comes after PERF_SAMPLE_STACK_USER so that perf_evsel__parse_sample
can get it right, isn't it? Or is just the comment wrong?

> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index dbccf83..d633581 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -952,6 +952,9 @@ static void perf_event__header_size(struct perf_event 
> *event)
>       if (sample_type & PERF_SAMPLE_PERIOD)
>               size += sizeof(data->period);
>  
> +     if (sample_type & PERF_SAMPLE_WEIGHT)
> +             size += sizeof(data->weight);

Here it doesn't matter, we're just computing the sample size, but would
be nice to add this just after the (sample_type &
PERF_SAMPLE_STACK_USER) branch.

> +
>       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);
>  
> -- 
> 1.7.9.5
--
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