1. 17 11月, 2012 1 次提交
    • P
      rcu: Add callback-free CPUs · 3fbfbf7a
      Paul E. McKenney 提交于
      RCU callback execution can add significant OS jitter and also can
      degrade both scheduling latency and, in asymmetric multiprocessors,
      energy efficiency.  This commit therefore adds the ability for selected
      CPUs ("rcu_nocbs=" boot parameter) to have their callbacks offloaded
      to kthreads.  If the "rcu_nocb_poll" boot parameter is also specified,
      these kthreads will do polling, removing the need for the offloaded
      CPUs to do wakeups.  At least one CPU must be doing normal callback
      processing: currently CPU 0 cannot be selected as a no-CBs CPU.
      In addition, attempts to offline the last normal-CBs CPU will fail.
      
      This feature was inspired by Jim Houston's and Joe Korty's JRCU, and
      this commit includes fixes to problems located by Fengguang Wu's
      kbuild test robot.
      
      [ paulmck: Added gfp.h include file as suggested by Fengguang Wu. ]
      Signed-off-by: NPaul E. McKenney <paul.mckenney@linaro.org>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      3fbfbf7a
  2. 14 11月, 2012 4 次提交
  3. 09 11月, 2012 18 次提交
  4. 28 10月, 2012 1 次提交
  5. 24 10月, 2012 10 次提交
  6. 21 10月, 2012 1 次提交
    • P
      rcu: Accelerate callbacks for CPU initiating a grace period · 62da1921
      Paul E. McKenney 提交于
      Because grace-period initialization is carried out by a separate
      kthread, it might happen on a different CPU than the one that
      had the callback needing a grace period -- which is where the
      callback acceleration needs to happen.
      
      Fortunately, rcu_start_gp() holds the root rcu_node structure's
      ->lock, which prevents a new grace period from starting.  This
      allows this function to safely determine that a grace period has
      not yet started, which in turn allows it to fully accelerate any
      callbacks that it has pending.  This commit adds this acceleration.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      62da1921
  7. 20 10月, 2012 4 次提交
  8. 17 10月, 2012 1 次提交