• Paul E. McKenney's avatar
    rcutorture: Mark data-race potential for rcu_barrier() test statistics · c9527beb
    Paul E. McKenney authored
    The n_barrier_successes, n_barrier_attempts, and
    n_rcu_torture_barrier_error variables are updated (without access
    markings) by the main rcu_barrier() test kthread, and accessed (also
    without access markings) by the rcu_torture_stats() kthread.  This of
    course can result in KCSAN complaints.
    
    Because the accesses are in diagnostic prints, this commit uses
    data_race() to excuse the diagnostic prints from the data race.  If this
    were to ever cause bogus statistics prints (for example, due to store
    tearing), any misleading information would be disambiguated by the
    presence or absence of an rcutorture splat.
    
    This data race was reported by KCSAN.  Not appropriate for backporting
    due to failure being unlikely and due to the mild consequences of the
    failure, namely a confusing rcutorture console message.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    Reviewed-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
    c9527beb
rcutorture.c 76.3 KB