Re: [PATCH] perf_events: add sampling period randomization support(v2)

From: Robert Richter
Date: Thu Mar 04 2010 - 03:53:17 EST


On 02.03.10 16:21:45, eranian@xxxxxxxxxx wrote:
> This patch adds support for randomizing the sampling period. Randomization
> is very useful to mitigate the bias that exists with sampling. The random
> number generator does not need to be sophisticated. This patch uses the
> builtin random32() generator.
>
> Randomization is activated by setting perf_event_attr.random_period_width
> to a non-zero value. It represents the width of the mask to apply to the
> random value, i.e, maximum range of variation. The random value is applied
> AROUND the period, i.e., period may be longer or shorter with a maximum
> variation of half the bit width. Thus, on average the sampling period remains
> equal to the initial period passed in perf_event_attr.sample_period.
>
> Note that randomization is not available when a target interrupt rate
> (freq) is enabled.
>
> The last used period can be collected using the PERF_SAMPLE_PERIOD flag
> in sample_type.
>
> Randomization is implemented in generic code thus it applies to all
> PMU models and software events.
>
> Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
>
> --
> include/linux/perf_event.h | 3 +++
> kernel/perf_event.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 47 insertions(+)

Reviewed-by: Robert Richter <robert.richter@xxxxxxx>

--
Advanced Micro Devices, Inc.
Operating System Research Center
email: robert.richter@xxxxxxx

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