• Robert Richter's avatar
    oprofile/x86: implement randomization for IBS periodic op counter · ba52078e
    Robert Richter authored
    IBS selects an op (execution operation) for sampling by counting
    either cycles or dispatched ops. Better statistical samples can be
    produced by adding a software generated random offset to the periodic
    op counter value with each sample.
    
    This patch adds software randomization to the IBS periodic op
    counter. The lower 12 bits of the 20 bit counter are
    randomized. IbsOpCurCnt is initialized with a 12 bit random value.
    
    There is a work around if the hw can not write to IbsOpCurCnt. Then
    the lower 8 bits of the 16 bit IbsOpMaxCnt [15:0] value are randomized
    in the range of -128 to +127 by adding/subtracting an offset to the
    maximum count (IbsOpMaxCnt).
    
    The linear feedback shift register (LFSR) algorithm is used for
    pseudo-random number generation to have low impact to the memory
    system.
    Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
    ba52078e
op_model_amd.c 14.4 KB