1. 03 Feb, 2023 15 commits
  2. 24 Jan, 2023 1 commit
    • Joel Fernandes (Google)'s avatar
      rcu: Disable laziness if lazy-tracking says so · cf7066b9
      Joel Fernandes (Google) authored
      During suspend, we see failures to suspend 1 in 300-500 suspends.
      Looking closer, it appears that asynchronous RCU callbacks are being
      queued as lazy even though synchronous callbacks are expedited. These
      delays appear to not be very welcome by the suspend/resume code as
      evidenced by these occasional suspend failures.
      
      This commit modifies call_rcu() to check if rcu_async_should_hurry(),
      which will return true if we are in suspend or in-kernel boot.
      
      [ paulmck: Alphabetize local variables. ]
      
      Ignoring the lazy hint makes the 3000 suspend/resume cycles pass
      reliably on a 12th gen 12-core Intel CPU, and there is some evidence
      that it also slightly speeds up boot performance.
      
      Fixes: 3cb278e7 ("rcu: Make call_rcu() lazy to save power")
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      cf7066b9
  3. 18 Jan, 2023 1 commit
    • Joel Fernandes (Google)'s avatar
      rcu: Track laziness during boot and suspend · 6efdda8b
      Joel Fernandes (Google) authored
      Boot and suspend/resume should not be slowed down in kernels built with
      CONFIG_RCU_LAZY=y.  In particular, suspend can sometimes fail in such
      kernels.
      
      This commit therefore adds rcu_async_hurry(), rcu_async_relax(), and
      rcu_async_should_hurry() functions that track whether or not either
      a boot or a suspend/resume operation is in progress.  This will
      enable a later commit to refrain from laziness during those times.
      
      Export rcu_async_should_hurry(), rcu_async_hurry(), and rcu_async_relax()
      for later use by rcutorture.
      
      [ paulmck: Apply feedback from Steve Rostedt. ]
      
      Fixes: 3cb278e7 ("rcu: Make call_rcu() lazy to save power")
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      6efdda8b
  4. 12 Jan, 2023 1 commit
  5. 09 Jan, 2023 1 commit
  6. 05 Jan, 2023 20 commits
  7. 04 Jan, 2023 1 commit