1. 14 Feb, 2024 1 commit
    • Frederic Weisbecker's avatar
      rcu/nocb: Remove needless LOAD-ACQUIRE · ca16265a
      Frederic Weisbecker authored
      The LOAD-ACQUIRE access performed on rdp->nocb_cb_sleep advertizes
      ordering callback execution against grace period completion. However
      this is contradicted by the following:
      
      * This LOAD-ACQUIRE doesn't pair with anything. The only counterpart
        barrier that can be found is the smp_mb() placed after callbacks
        advancing in nocb_gp_wait(). However the barrier is placed _after_
        ->nocb_cb_sleep write.
      
      * Callbacks can be concurrently advanced between the LOAD-ACQUIRE on
        ->nocb_cb_sleep and the call to rcu_segcblist_extract_done_cbs() in
        rcu_do_batch(), making any ordering based on ->nocb_cb_sleep broken.
      
      * Both rcu_segcblist_extract_done_cbs() and rcu_advance_cbs() are called
        under the nocb_lock, the latter hereby providing already the desired
        ACQUIRE semantics.
      
      Therefore it is safe to access ->nocb_cb_sleep with a simple compiler
      barrier.
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      ca16265a
  2. 29 Jan, 2024 1 commit
  3. 28 Jan, 2024 7 commits
  4. 27 Jan, 2024 9 commits
  5. 26 Jan, 2024 22 commits