1. 11 Mar, 2010 3 commits
    • Paul E. McKenney's avatar
      x86/mce: Fix RCU lockdep splats · f56e8a07
      Paul E. McKenney authored
      Create an rcu_dereference_check_mce() that checks for RCU-sched
      read side and mce_read_mutex being held on update side.  Replace
      uses of rcu_dereference() in arch/x86/kernel/cpu/mcheck/mce.c
      with this new macro.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: x86@kernel.org
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267830207-9474-3-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f56e8a07
    • Paul E. McKenney's avatar
      rcu: Increase RCU CPU stall timeouts if PROVE_RCU · 007b0924
      Paul E. McKenney authored
      CONFIG_PROVE_RCU imposes additional overhead on the kernel, so
      increase the RCU CPU stall timeouts in an attempt to allow for
      this effect.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267830207-9474-2-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      007b0924
    • Paul E. McKenney's avatar
      ftrace: Replace read_barrier_depends() with rcu_dereference_raw() · 3f379b03
      Paul E. McKenney authored
      Replace the calls to read_barrier_depends() in
      ftrace_list_func() with rcu_dereference_raw() to improve
      readability.  The reason that we use rcu_dereference_raw() here
      is that removed entries are never freed, instead they are simply
      leaked.  This is one of a very few cases where use of
      rcu_dereference_raw() is the long-term right answer.  And I
      don't yet know of any others.  ;-)
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267830207-9474-1-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3f379b03
  2. 04 Mar, 2010 8 commits
    • Paul E. McKenney's avatar
      rcu: Suppress RCU lockdep warnings during early boot · 54dbf96c
      Paul E. McKenney authored
      RCU is used during very early boot, before RCU and lockdep have
      been initialized.  So make the underlying primitives
      (rcu_read_lock_held(), rcu_read_lock_bh_held(),
      rcu_read_lock_sched_held(), and rcu_dereference_check()) check
      for early boot via the rcu_scheduler_active flag.  This will
      suppress false positives.
      
      Also introduce a debug_lockdep_rcu_enabled() static inline
      helper function, which tags the CONTINUE_PROVE_RCU case as
      likely(), as suggested by Ingo Molnar.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267631219-8713-2-git-send-email-paulmck@linux.vnet.ibm.com>
      [ v2: removed incomplete debug_lockdep_rcu_update() bits ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      54dbf96c
    • Paul E. McKenney's avatar
      rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare() · 8d53dd54
      Paul E. McKenney authored
      Change the pair of rcu_dereference() calls in
      ftrace_perf_buf_prepare() to rcu_dereference_sched().
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1267667418-32233-3-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      8d53dd54
    • Paul E. McKenney's avatar
      rcu: Suppress __mpol_dup() false positive from RCU lockdep · 99ee4ca7
      Paul E. McKenney authored
      Common code is used during task creation and after the task has
      started running.  RCU protection is not needed during task
      creation because no other CPU has access to the
      under-construction task.  Provide the RCU protection anyway to
      suppress the false positive, as there does not appear to be a
      good way for the common code to recognize that the task is only
      accessible to the CPU creating it.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Paul Menage <menage@google.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267667418-32233-2-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      99ee4ca7
    • Paul E. McKenney's avatar
      rcu: Make rcu_read_lock_sched_held() handle !PREEMPT · e6033e3b
      Paul E. McKenney authored
      The rcu_read_lock_sched_held() needs to unconditionally return
      the value "1" in a !PREEMPT kernel, because under !PREEMPT,
      -all- kernel code is implicitly preempt-disabled.  This patch
      makes this happen.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267667418-32233-1-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e6033e3b
    • Paul E. McKenney's avatar
      rcu: Add control variables to lockdep_rcu_dereference() diagnostics · cc5b83a9
      Paul E. McKenney authored
      Add the values of rcu_scheduler_active() and debug_locks() to
      the lockdep_rcu_dereference() output to help diagnose RCU
      lockdep splats that occur shortly after the scheduler starts.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267631219-8713-4-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      cc5b83a9
    • Paul E. McKenney's avatar
      rcu, cgroup: Relax the check in task_subsys_state() as early boot is now handled by lockdep-RCU · 5ed42b81
      Paul E. McKenney authored
      This patch removes the check for !rcu_scheduler_active because
      this check has been incorporated into rcu_dereference_check().
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      LKML-Reference: <1267631219-8713-3-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      5ed42b81
    • Paul E. McKenney's avatar
      rcu: Use wrapper function instead of exporting tasklist_lock · db1466b3
      Paul E. McKenney authored
      Lockdep-RCU commit d11c563d exported tasklist_lock, which is not
      a good thing.  This patch instead exports a function that uses
      lockdep to check whether tasklist_lock is held.
      Suggested-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: laijs@cn.fujitsu.com
      Cc: dipankar@in.ibm.com
      Cc: mathieu.desnoyers@polymtl.ca
      Cc: josh@joshtriplett.org
      Cc: dvhltc@us.ibm.com
      Cc: niv@us.ibm.com
      Cc: peterz@infradead.org
      Cc: rostedt@goodmis.org
      Cc: Valdis.Kletnieks@vt.edu
      Cc: dhowells@redhat.com
      Cc: Christoph Hellwig <hch@lst.de>
      LKML-Reference: <1267631219-8713-1-git-send-email-paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      db1466b3
    • Ingo Molnar's avatar
      Merge branches 'core/futexes' and 'core/iommu' into core/urgent · 0e064caf
      Ingo Molnar authored
      Merge reason: Switch from topical split to the stabilization track
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0e064caf
  3. 01 Mar, 2010 2 commits
  4. 28 Feb, 2010 25 commits
  5. 27 Feb, 2010 2 commits
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · ef1a8de8
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (88 commits)
        powerpc: Fix lwsync feature fixup vs. modules on 64-bit
        powerpc: Convert pmc_owner_lock to raw_spinlock
        powerpc: Convert die.lock to raw_spinlock
        powerpc: Convert tlbivax_lock to raw_spinlock
        powerpc: Convert mpic locks to raw_spinlock
        powerpc: Convert pmac_pic_lock to raw_spinlock
        powerpc: Convert big_irq_lock to raw_spinlock
        powerpc: Convert feature_lock to raw_spinlock
        powerpc: Convert i8259_lock to raw_spinlock
        powerpc: Convert beat_htab_lock to raw_spinlock
        powerpc: Convert confirm_error_lock to raw_spinlock
        powerpc: Convert ipic_lock to raw_spinlock
        powerpc: Convert native_tlbie_lock to raw_spinlock
        powerpc: Convert beatic_irq_mask_lock to raw_spinlock
        powerpc: Convert nv_lock to raw_spinlock
        powerpc: Convert context_lock to raw_spinlock
        powerpc/85xx: Add NOR, LEDs and PIB support for MPC8568E-MDS boards
        powerpc/86xx: Enable VME driver on the GE SBC610
        powerpc/86xx: Enable VME driver on the GE PPC9A
        powerpc/86xx: Add MSI section to GE PPC9A DTS
        ...
      ef1a8de8
    • Maxim Kuvyrkov's avatar
      m68k: Define sigcontext ABI of ColdFire · 00ebfe58
      Maxim Kuvyrkov authored
      The following patch defines sigcontext ABI of ColdFire.  Due to ISA
      restrictions ColdFire needs different rt_sigreturn trampoline.
      
      And due to ColdFire FP registers being 8-bytes instead of 12-bytes on
      m68k, sigcontext and fpregset structures should be updated.
      
      Regarding the sc_fpstate[16+6*8] field, it would've been enough 16
      bytes to store ColdFire's FP state.  To accomodate GLIBC's libSegFault
      it would'be been enough 6*8 bytes (room for the 6 non-call-clobbered
      FP registers).  I set it to 16+6*8 to provide some extra space for any
      future changes in the ColdFire FPU.
      Signed-off-by: default avatarMaxim Kuvyrkov <maxim@codesourcery.com>
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      00ebfe58