• Waiman Long's avatar
    locking/lock_events: Use this_cpu_add() when necessary · 51816e9e
    Waiman Long authored
    The kernel test robot has reported that the use of __this_cpu_add()
    causes bug messages like:
    
      BUG: using __this_cpu_add() in preemptible [00000000] code: ...
    
    Given the imprecise nature of the count and the possibility of resetting
    the count and doing the measurement again, this is not really a big
    problem to use the unprotected __this_cpu_*() functions.
    
    To make the preemption checking code happy, the this_cpu_*() functions
    will be used if CONFIG_DEBUG_PREEMPT is defined.
    
    The imprecise nature of the locking counts are also documented with
    the suggestion that we should run the measurement a few times with the
    counts reset in between to get a better picture of what is going on
    under the hood.
    
    Fixes: a8654596 ("locking/rwsem: Enable lock event counting")
    Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarWaiman Long <longman@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    51816e9e
lock_events.h 3.37 KB