1. 21 Feb, 2012 16 commits
  2. 11 Dec, 2011 19 commits
  3. 31 Oct, 2011 1 commit
    • Paul Gortmaker's avatar
      kernel: Map most files to use export.h instead of module.h · 9984de1a
      Paul Gortmaker authored
      The changed files were only including linux/module.h for the
      EXPORT_SYMBOL infrastructure, and nothing else.  Revector them
      onto the isolated export header for faster compile times.
      
      Nothing to see here but a whole lot of instances of:
      
        -#include <linux/module.h>
        +#include <linux/export.h>
      
      This commit is only changing the kernel dir; next targets
      will probably be mm, fs, the arch dirs, etc.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      9984de1a
  4. 28 Sep, 2011 4 commits
    • Paul E. McKenney's avatar
      rcu: Move propagation of ->completed from rcu_start_gp() to rcu_report_qs_rsp() · afe24b12
      Paul E. McKenney authored
      It is possible for the CPU that noted the end of the prior grace period
      to not need a new one, and therefore to decide to propagate ->completed
      throughout the rcu_node tree without starting another grace period.
      However, in so doing, it releases the root rcu_node structure's lock,
      which can allow some other CPU to start another grace period.  The first
      CPU will be propagating ->completed in parallel with the second CPU
      initializing the rcu_node tree for the new grace period.  In theory
      this is harmless, but in practice we need to keep things simple.
      
      This commit therefore moves the propagation of ->completed to
      rcu_report_qs_rsp(), and refrains from marking the old grace period
      as having been completed until it has finished doing this.  This
      prevents anyone from starting a new grace period concurrently with
      marking the old grace period as having been completed.
      
      Of course, the optimization where a CPU needing a new grace period
      doesn't bother marking the old one completed is still in effect:
      In that case, the marking happens implicitly as part of initializing
      the new grace period.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      afe24b12
    • Paul E. McKenney's avatar
      rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states · e90c53d3
      Paul E. McKenney authored
      The purpose of rcu_needs_cpu_flush() was to iterate on pushing the
      current grace period in order to help the current CPU enter dyntick-idle
      mode.  However, this can result in failures if the CPU starts entering
      dyntick-idle mode, but then backs out.  In this case, the call to
      rcu_pending() from rcu_needs_cpu_flush() might end up announcing a
      non-existing quiescent state.
      
      This commit therefore removes rcu_needs_cpu_flush() in favor of letting
      the dyntick-idle machinery at the end of the softirq handler push the
      loop along via its call to rcu_pending().
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      e90c53d3
    • Mike Galbraith's avatar
      rcu: Wire up RCU_BOOST_PRIO for rcutree · 5b61b0ba
      Mike Galbraith authored
      RCU boost threads start life at RCU_BOOST_PRIO, while others remain
      at RCU_KTHREAD_PRIO.  While here, change thread names to match other
      kthreads, and adjust rcu_yield() to not override the priority set by
      the user.  This last change sets the stage for runtime changes to
      priority in the -rt tree.
      Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      5b61b0ba
    • Paul E. McKenney's avatar
      rcu: Avoid having just-onlined CPU resched itself when RCU is idle · 06ae115a
      Paul E. McKenney authored
      CPUs set rdp->qs_pending when coming online to resolve races with
      grace-period start.  However, this means that if RCU is idle, the
      just-onlined CPU might needlessly send itself resched IPIs.  Adjust
      the online-CPU initialization to avoid this, and also to correctly
      cause the CPU to respond to the current grace period if needed.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: default avatarJosh Boyer <jwboyer@redhat.com>
      Tested-by: default avatarChristian Hoffmann <email@christianhoffmann.info>
      06ae115a