Re: [PATCH] perf_events: add sampling period randomization support

Robert Richter
2010-03-02T14:18:37Z

On 02.03.10 12:41:18, Peter Zijlstra wrote:
> On Tue, 2010-03-02 at 11:53 +0100, Robert Richter wrote:
> >
> > Only adding the random value will lead to longer sample periods on
> > average. To compensate this you could calculate something like:
> >
> > event->hw.sample_period = event->attr.sample_period + (new_seed & mask) - (mask >> 1);
>
> Or cheat and do something like:
>
> sample_period ^= (new_seed & mask);

This wont work, it will be asymmetric, e.g. for

(event->attr.sample_period & mask) == 0

the offset would be always positive. Only for

(event->attr.sample_period & mask) == (mask & ~(mask >> 1))

it is correct.

-Robert

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