1. 21 Aug, 2017 1 commit
  2. 17 Aug, 2017 26 commits
    • Paul E. McKenney's avatar
      Merge branches 'doc.2017.08.17a', 'fixes.2017.08.17a', 'hotplug.2017.07.25b',... · 656e7c0c
      Paul E. McKenney authored
      Merge branches 'doc.2017.08.17a', 'fixes.2017.08.17a', 'hotplug.2017.07.25b', 'misc.2017.08.17a', 'spin_unlock_wait_no.2017.08.17a', 'srcu.2017.07.27c' and 'torture.2017.07.24c' into HEAD
      
      doc.2017.08.17a: Documentation updates.
      fixes.2017.08.17a: RCU fixes.
      hotplug.2017.07.25b: CPU-hotplug updates.
      misc.2017.08.17a: Miscellaneous fixes outside of RCU (give or take conflicts).
      spin_unlock_wait_no.2017.08.17a: Remove spin_unlock_wait().
      srcu.2017.07.27c: SRCU updates.
      torture.2017.07.24c: Torture-test updates.
      656e7c0c
    • Paul E. McKenney's avatar
      arch: Remove spin_unlock_wait() arch-specific definitions · 952111d7
      Paul E. McKenney authored
      There is no agreed-upon definition of spin_unlock_wait()'s semantics,
      and it appears that all callers could do just as well with a lock/unlock
      pair.  This commit therefore removes the underlying arch-specific
      arch_spin_unlock_wait() for all architectures providing them.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: <linux-arch@vger.kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Acked-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      952111d7
    • Paul E. McKenney's avatar
      locking: Remove spin_unlock_wait() generic definitions · d3a024ab
      Paul E. McKenney authored
      There is no agreed-upon definition of spin_unlock_wait()'s semantics,
      and it appears that all callers could do just as well with a lock/unlock
      pair.  This commit therefore removes spin_unlock_wait() and related
      definitions from core code.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      d3a024ab
    • Paul E. McKenney's avatar
      drivers/ata: Replace spin_unlock_wait() with lock/unlock pair · a4f08141
      Paul E. McKenney authored
      There is no agreed-upon definition of spin_unlock_wait()'s semantics,
      and it appears that all callers could do just as well with a lock/unlock
      pair.  This commit therefore eliminates the spin_unlock_wait() call and
      associated else-clause and hoists the then-clause's lock and unlock out of
      the "if" statement.  This should be safe from a performance perspective
      because according to Tejun there should be few if any drivers that don't
      set their own error handler.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Cc: <linux-ide@vger.kernel.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      a4f08141
    • Paul E. McKenney's avatar
      ipc: Replace spin_unlock_wait() with lock/unlock pair · e0892e08
      Paul E. McKenney authored
      There is no agreed-upon definition of spin_unlock_wait()'s semantics,
      and it appears that all callers could do just as well with a lock/unlock
      pair.  This commit therefore replaces the spin_unlock_wait() call in
      exit_sem() with spin_lock() followed immediately by spin_unlock().
      This should be safe from a performance perspective because exit_sem()
      is rarely invoked in production.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarManfred Spraul <manfred@colorfullife.com>
      e0892e08
    • Paul E. McKenney's avatar
      exit: Replace spin_unlock_wait() with lock/unlock pair · 8083f293
      Paul E. McKenney authored
      There is no agreed-upon definition of spin_unlock_wait()'s semantics, and
      it appears that all callers could do just as well with a lock/unlock pair.
      This commit therefore replaces the spin_unlock_wait() call in do_exit()
      with spin_lock() followed immediately by spin_unlock().  This should be
      safe from a performance perspective because the lock is a per-task lock,
      and this is happening only at task-exit time.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      8083f293
    • Paul E. McKenney's avatar
      completion: Replace spin_unlock_wait() with lock/unlock pair · dec13c42
      Paul E. McKenney authored
      There is no agreed-upon definition of spin_unlock_wait()'s semantics,
      and it appears that all callers could do just as well with a lock/unlock
      pair.  This commit therefore replaces the spin_unlock_wait() call in
      completion_done() with spin_lock() followed immediately by spin_unlock().
      This should be safe from a performance perspective because the lock
      will be held only the wakeup happens really quickly.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Reviewed-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      dec13c42
    • Paul E. McKenney's avatar
      doc: Set down RCU's scheduling-clock-interrupt needs · 850bf6d5
      Paul E. McKenney authored
      This commit documents the situations in which RCU needs the
      scheduling-clock interrupt to be enabled, along with the consequences
      of failing to meet RCU's needs in this area.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      850bf6d5
    • Paul E. McKenney's avatar
      doc: No longer allowed to use rcu_dereference on non-pointers · 8a597d63
      Paul E. McKenney authored
      There are too many ways for the compiler to optimize (that is, break)
      dependencies carried via integer values, so it is now permissible to
      carry dependencies only via pointers.  This commit catches up some of
      the documentation on this point.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      8a597d63
    • Paul E. McKenney's avatar
    • Paul E. McKenney's avatar
      doc: Update memory-barriers.txt for read-to-write dependencies · 66ce3a4d
      Paul E. McKenney authored
      The memory-barriers.txt document contains an obsolete passage stating that
      smp_read_barrier_depends() is required to force ordering for read-to-write
      dependencies.  We now know that this is not required, even for DEC Alpha.
      This commit therefore updates this passage to state that read-to-write
      dependencies are respected even without smp_read_barrier_depends().
      Reported-by: default avatarLance Roy <ldr709@gmail.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: Jade Alglave <j.alglave@ucl.ac.uk>
      Cc: Luc Maranget <luc.maranget@inria.fr>
      [ paulmck: Reference control-dependencies sections and use WRITE_ONCE()
        per Will Deacon.  Correctly place split-cache paragraph while there. ]
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      66ce3a4d
    • Paul E. McKenney's avatar
      4de5f89e
    • Mathieu Desnoyers's avatar
      membarrier: Provide expedited private command · 22e4ebb9
      Mathieu Desnoyers authored
      Implement MEMBARRIER_CMD_PRIVATE_EXPEDITED with IPIs using cpumask built
      from all runqueues for which current thread's mm is the same as the
      thread calling sys_membarrier. It executes faster than the non-expedited
      variant (no blocking). It also works on NOHZ_FULL configurations.
      
      Scheduler-wise, it requires a memory barrier before and after context
      switching between processes (which have different mm). The memory
      barrier before context switch is already present. For the barrier after
      context switch:
      
      * Our TSO archs can do RELEASE without being a full barrier. Look at
        x86 spin_unlock() being a regular STORE for example.  But for those
        archs, all atomics imply smp_mb and all of them have atomic ops in
        switch_mm() for mm_cpumask(), and on x86 the CR3 load acts as a full
        barrier.
      
      * From all weakly ordered machines, only ARM64 and PPC can do RELEASE,
        the rest does indeed do smp_mb(), so there the spin_unlock() is a full
        barrier and we're good.
      
      * ARM64 has a very heavy barrier in switch_to(), which suffices.
      
      * PPC just removed its barrier from switch_to(), but appears to be
        talking about adding something to switch_mm(). So add a
        smp_mb__after_unlock_lock() for now, until this is settled on the PPC
        side.
      
      Changes since v3:
      - Properly document the memory barriers provided by each architecture.
      
      Changes since v2:
      - Address comments from Peter Zijlstra,
      - Add smp_mb__after_unlock_lock() after finish_lock_switch() in
        finish_task_switch() to add the memory barrier we need after storing
        to rq->curr. This is much simpler than the previous approach relying
        on atomic_dec_and_test() in mmdrop(), which actually added a memory
        barrier in the common case of switching between userspace processes.
      - Return -EINVAL when MEMBARRIER_CMD_SHARED is used on a nohz_full
        kernel, rather than having the whole membarrier system call returning
        -ENOSYS. Indeed, CMD_PRIVATE_EXPEDITED is compatible with nohz_full.
        Adapt the CMD_QUERY mask accordingly.
      
      Changes since v1:
      - move membarrier code under kernel/sched/ because it uses the
        scheduler runqueue,
      - only add the barrier when we switch from a kernel thread. The case
        where we switch from a user-space thread is already handled by
        the atomic_dec_and_test() in mmdrop().
      - add a comment to mmdrop() documenting the requirement on the implicit
        memory barrier.
      
      CC: Peter Zijlstra <peterz@infradead.org>
      CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      CC: Boqun Feng <boqun.feng@gmail.com>
      CC: Andrew Hunter <ahh@google.com>
      CC: Maged Michael <maged.michael@gmail.com>
      CC: gromer@google.com
      CC: Avi Kivity <avi@scylladb.com>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Paul Mackerras <paulus@samba.org>
      CC: Michael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: default avatarDave Watson <davejwatson@fb.com>
      22e4ebb9
    • Paul E. McKenney's avatar
      rcu: Remove exports from rcu_idle_exit() and rcu_idle_enter() · 16c0b106
      Paul E. McKenney authored
      The rcu_idle_exit() and rcu_idle_enter() functions are exported because
      they were originally used by RCU_NONIDLE(), which was intended to
      be usable from modules.  However, RCU_NONIDLE() now instead uses
      rcu_irq_enter_irqson() and rcu_irq_exit_irqson(), which are not
      exported, and there have been no complaints.
      
      This commit therefore removes the exports from rcu_idle_exit() and
      rcu_idle_enter().
      Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      16c0b106
    • Paul E. McKenney's avatar
      rcu: Add warning to rcu_idle_enter() for irqs enabled · d4db30af
      Paul E. McKenney authored
      All current callers of rcu_idle_enter() have irqs disabled, and
      rcu_idle_enter() relies on this, but doesn't check.  This commit
      therefore adds a RCU_LOCKDEP_WARN() to add some verification to the trust.
      While we are there, pass "true" rather than "1" to rcu_eqs_enter().
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      d4db30af
    • Peter Zijlstra (Intel)'s avatar
      rcu: Make rcu_idle_enter() rely on callers disabling irqs · 3a607992
      Peter Zijlstra (Intel) authored
      All callers to rcu_idle_enter() have irqs disabled, so there is no
      point in rcu_idle_enter disabling them again.  This commit therefore
      replaces the irq disabling with a RCU_LOCKDEP_WARN().
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      3a607992
    • Paul E. McKenney's avatar
      rcu: Add assertions verifying blocked-tasks list · 2dee9404
      Paul E. McKenney authored
      This commit adds assertions verifying the consistency of the rcu_node
      structure's ->blkd_tasks list and its ->gp_tasks, ->exp_tasks, and
      ->boost_tasks pointers.  In particular, the ->blkd_tasks lists must be
      empty except for leaf rcu_node structures.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      2dee9404
    • Masami Hiramatsu's avatar
      rcu/tracing: Set disable_rcu_irq_enter on rcu_eqs_exit() · 35fe723b
      Masami Hiramatsu authored
      Set disable_rcu_irq_enter on not only rcu_eqs_enter_common() but also
      rcu_eqs_exit(), since rcu_eqs_exit() suffers from the same issue as was
      fixed for rcu_eqs_enter_common() by commit 03ecd3f4 ("rcu/tracing:
      Add rcu_disabled to denote when rcu_irq_enter() will not work").
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      35fe723b
    • Paul E. McKenney's avatar
      rcu: Add TPS() protection for _rcu_barrier_trace strings · d8db2e86
      Paul E. McKenney authored
      The _rcu_barrier_trace() function is a wrapper for trace_rcu_barrier(),
      which needs TPS() protection for strings passed through the second
      argument.  However, it has escaped prior TPS()-ification efforts because
      it _rcu_barrier_trace() does not start with "trace_".  This commit
      therefore adds the needed TPS() protection
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      d8db2e86
    • Luis R. Rodriguez's avatar
      rcu: Use idle versions of swait to make idle-hack clear · d5374226
      Luis R. Rodriguez authored
      These RCU waits were set to use interruptible waits to avoid the kthreads
      contributing to system load average, even though they are not interruptible
      as they are spawned from a kthread. Use the new TASK_IDLE swaits which makes
      our goal clear, and removes confusion about these paths possibly being
      interruptible -- they are not.
      
      When the system is idle the RCU grace-period kthread will spend all its time
      blocked inside the swait_event_interruptible(). If the interruptible() was
      not used, then this kthread would contribute to the load average. This means
      that an idle system would have a load average of 2 (or 3 if PREEMPT=y),
      rather than the load average of 0 that almost fifty years of UNIX has
      conditioned sysadmins to expect.
      
      The same argument applies to swait_event_interruptible_timeout() use. The
      RCU grace-period kthread spends its time blocked inside this call while
      waiting for grace periods to complete. In particular, if there was only one
      busy CPU, but that CPU was frequently invoking call_rcu(), then the RCU
      grace-period kthread would spend almost all its time blocked inside the
      swait_event_interruptible_timeout(). This would mean that the load average
      would be 2 rather than the expected 1 for the single busy CPU.
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Tested-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      d5374226
    • Luis R. Rodriguez's avatar
      swait: Add idle variants which don't contribute to load average · 352eee12
      Luis R. Rodriguez authored
      There are cases where folks are using an interruptible swait when
      using kthreads. This is rather confusing given you'd expect
      interruptible waits to be -- interruptible, but kthreads are not
      interruptible ! The reason for such practice though is to avoid
      having these kthreads contribute to the system load average.
      
      When systems are idle some kthreads may spend a lot of time blocking if
      using swait_event_timeout(). This would contribute to the system load
      average. On systems without preemption this would mean the load average
      of an idle system is bumped to 2 instead of 0. On systems with PREEMPT=y
      this would mean the load average of an idle system is bumped to 3
      instead of 0.
      
      This adds proper API using TASK_IDLE to make such goals explicit and
      avoid confusion.
      Suggested-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Tested-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      352eee12
    • Paul E. McKenney's avatar
      rcu: Add event tracing to ->gp_tasks update at GP start · c5ebe66c
      Paul E. McKenney authored
      There is currently event tracing to track when a task is preempted
      within a preemptible RCU read-side critical section, and also when that
      task subsequently reaches its outermost rcu_read_unlock(), but none
      indicating when a new grace period starts when that grace period must
      wait on pre-existing readers that have been been preempted at least once
      since the beginning of their current RCU read-side critical sections.
      
      This commit therefore adds an event trace at grace-period start in
      the case where there are such readers.  Note that only the first
      reader in the list is traced.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      c5ebe66c
    • Paul E. McKenney's avatar
      rcu: Move rcu.h to new trivial-function style · 7414fac0
      Paul E. McKenney authored
      This commit saves a few lines in kernel/rcu/rcu.h by moving to single-line
      definitions for trivial functions, instead of the old style where the
      two curly braces each get their own line.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      7414fac0
    • Paul E. McKenney's avatar
      rcu: Add TPS() to event-traced strings · bedbb648
      Paul E. McKenney authored
      Strings used in event tracing need to be specially handled, for example,
      using the TPS() macro.  Without the TPS() macro, although output looks
      fine from within a running kernel, extracting traces from a crash dump
      produces garbage instead of strings.  This commit therefore adds the TPS()
      macro to some unadorned strings that were passed to event-tracing macros.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      bedbb648
    • Paul E. McKenney's avatar
      rcu: Create reasonable API for do_exit() TASKS_RCU processing · ccdd29ff
      Paul E. McKenney authored
      Currently, the exit-time support for TASKS_RCU is open-coded in do_exit().
      This commit creates exit_tasks_rcu_start() and exit_tasks_rcu_finish()
      APIs for do_exit() use.  This has the benefit of confining the use of the
      tasks_rcu_exit_srcu variable to one file, allowing it to become static.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      ccdd29ff
    • Paul E. McKenney's avatar
      rcu: Drive TASKS_RCU directly off of PREEMPT · 7e42776d
      Paul E. McKenney authored
      The actual use of TASKS_RCU is only when PREEMPT, otherwise RCU-sched
      is used instead.  This commit therefore makes synchronize_rcu_tasks()
      and call_rcu_tasks() available always, but mapped to synchronize_sched()
      and call_rcu_sched(), respectively, when !PREEMPT.  This approach also
      allows some #ifdefs to be removed from rcutorture.
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Reviewed-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      7e42776d
  3. 15 Aug, 2017 1 commit
  4. 13 Aug, 2017 7 commits
    • Linus Torvalds's avatar
      Linux 4.13-rc5 · ef954844
      Linus Torvalds authored
      ef954844
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · b2298fc9
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Another round of MIPS fixes:
      
         - compressed boot: Ignore a generated .c file
      
         - VDSO: Fix a register clobber list
      
         - DECstation: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression
      
         - Octeon: Fix recent cleanups that cleaned away a bit too much thus
           breaking the arch side of the EDAC and USB drivers.
      
         - uasm: Fix duplicate const in "const struct foo const bar[]" which
           GCC 7.1 no longer accepts.
      
         - Fix race on setting and getting cpu_online_mask
      
         - Fix preemption issue. To do so cleanly introduce macro to get the
           size of L3 cache line.
      
         - Revert include cleanup that sometimes results in build error
      
         - MicroMIPS uses bit 0 of the PC to indicate microMIPS mode. Make
           sure this bit is set for kernel entry as well.
      
         - Prevent configuring the kernel for both microMIPS and MT. There are
           no such CPUs currently and thus the combination is unsupported and
           results in build errors.
      
        This has been sitting in linux-next for a few days and has survived
        automated testing by Imagination's test farm. No known regressions
        pending except a number of issues that crept up due to lots of people
        switching to GCC 7.1"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Set ISA bit in entry-y for microMIPS kernels
        MIPS: Prevent building MT support for microMIPS kernels
        MIPS: PCI: Fix smp_processor_id() in preemptible
        MIPS: Introduce cpu_tcache_line_size
        MIPS: DEC: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression
        MIPS: VDSO: Fix clobber lists in fallback code paths
        Revert "MIPS: Don't unnecessarily include kmalloc.h into <asm/cache.h>."
        MIPS: OCTEON: Fix USB platform code breakage.
        MIPS: Octeon: Fix broken EDAC driver.
        MIPS: gitignore: ignore generated .c files
        MIPS: Fix race on setting and getting cpu_online_mask
        MIPS: mm: remove duplicate "const" qualifier on insn_table
      b2298fc9
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.13-rc5' of... · c9dc281d
      Linus Torvalds authored
      Merge tag 'driver-core-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here are three firmware core fixes for 4.13-rc5.
      
        All three of these fix reported issues and have been floating around
        for a few weeks. They have been in linux-next with no reported
        problems"
      
      * tag 'driver-core-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        firmware: avoid invalid fallback aborts by using killable wait
        firmware: fix batched requests - send wake up on failure on direct lookups
        firmware: fix batched requests - wake all waiters
      c9dc281d
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ce7ba95c
      Linus Torvalds authored
      Pull char/misc fixes from Greg KH:
       "Here are two patches for 4.13-rc5.
      
        One is a fix for a reported thunderbolt issue, and the other a fix for
        an MEI driver issue. Both have been in linux-next with no reported
        issues"
      
      * tag 'char-misc-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        thunderbolt: Do not enumerate more ports from DROM than the controller has
        mei: exclude device from suspend direct complete optimization
      ce7ba95c
    • Linus Torvalds's avatar
      Merge tag 'tty-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 438630ef
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are two tty serial driver fixes for 4.13-rc5. One is a revert of
        a -rc1 patch that turned out to not be a good idea, and the other is a
        fix for the pl011 serial driver.
      
        Both have been in linux-next with no reported issues"
      
      * tag 'tty-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "serial: Delete dead code for CIR serial ports"
        tty: pl011: fix initialization order of QDF2400 E44
      438630ef
    • Linus Torvalds's avatar
      Merge tag 'staging-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · dd95f186
      Linus Torvalds authored
      Pull staging/iio fixes from Greg KH:
       "Here are some Staging and IIO driver fixes for 4.13-rc5.
      
        Nothing major, just a number of small fixes for reported issues. All
        of these have been in linux-next for a while now with no reported
        issues. Full details are in the shortlog"
      
      * tag 'staging-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING
        iio: aspeed-adc: wait for initial sequence.
        iio: accel: bmc150: Always restore device to normal mode after suspend-resume
        staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read
        iio: adc: axp288: Fix the GPADC pin reading often wrongly returning 0
        iio: adc: vf610_adc: Fix VALT selection value for REFSEL bits
        iio: accel: st_accel: add SPI-3wire support
        iio: adc: Revert "axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications"
        iio: adc: sun4i-gpadc-iio: fix unbalanced irq enable/disable
        iio: pressure: st_pressure_core: disable multiread by default for LPS22HB
        iio: light: tsl2563: use correct event code
      dd95f186
    • Linus Torvalds's avatar
      Merge tag 'usb-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 10cec917
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of small USB driver fixes and new device ids for
        4.13-rc5. There is the usual gadget driver fixes, some new quirks for
        "messy" hardware, and some new device ids.
      
        All have been in linux-next with no reported issues"
      
      * tag 'usb-4.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: serial: pl2303: add new ATEN device id
        usb: quirks: Add no-lpm quirk for Moshi USB to Ethernet Adapter
        USB: Check for dropped connection before switching to full speed
        usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume
        usb: renesas_usbhs: gadget: fix unused-but-set-variable warning
        usb: renesas_usbhs: Fix UGCTRL2 value for R-Car Gen3
        usb: phy: phy-msm-usb: Fix usage of devm_regulator_bulk_get()
        usb: gadget: udc: renesas_usb3: Fix usb_gadget_giveback_request() calling
        usb: dwc3: gadget: Correct ISOC DATA PIDs for short packets
        USB: serial: option: add D-Link DWM-222 device ID
        usb: musb: fix tx fifo flush handling again
        usb: core: unlink urbs from the tail of the endpoint's urb_list
        usb-storage: fix deadlock involving host lock and scsi_done
        uas: Add US_FL_IGNORE_RESIDUE for Initio Corporation INIC-3069
        USB: hcd: Mark secondary HCD as dead if the primary one died
        USB: serial: cp210x: add support for Qivicon USB ZigBee dongle
      10cec917
  5. 12 Aug, 2017 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20170812' of git://git.infradead.org/linux-mtd · 89a55278
      Linus Torvalds authored
      Pull another MTD fix from Brian Norris:
       "An mtdblock regression occurred in -rc1 (all writes were broken!), in
        the process of some block subsystem refactoring. Noticed and fixed
        last week, but I'm a little slow on the uptake"
      
      * tag 'for-linus-20170812' of git://git.infradead.org/linux-mtd:
        mtd: blkdevs: Fix mtd block write failure
      89a55278
    • Abhishek Sahu's avatar
      mtd: blkdevs: Fix mtd block write failure · 9a515447
      Abhishek Sahu authored
      All the MTD block write requests are failing with
      following error messages
      
          mkfs.ext4  /dev/mtdblock0
      
          print_req_error: I/O error, dev mtdblock0, sector 0
          Buffer I/O error on dev mtdblock0, logical block 0,
          lost async page write
      
      The control is going to default case after block write request
      because of missing return.
      
      Fixes: commit 2a842aca ("block: introduce new block status code type")
      Signed-off-by: default avatarAbhishek Sahu <absahu@codeaurora.org>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      9a515447
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · a99bcdce
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "The highlights include:
      
         - Fix iscsi-target payload memory leak during
           ISCSI_FLAG_TEXT_CONTINUE (Varun Prakash)
      
         - Fix tcm_qla2xxx incorrect use of tcm_qla2xxx_free_cmd during ABORT
           (Pascal de Bruijn + Himanshu Madhani + nab)
      
         - Fix iscsi-target long-standing issue with parallel delete of a
           single network portal across multiple target instances (Gary Guo +
           nab)
      
         - Fix target dynamic se_node GPF during uncached shutdown regression
           (Justin Maggard + nab)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix node_acl demo-mode + uncached dynamic shutdown regression
        iscsi-target: Fix iscsi_np reset hung task during parallel delete
        qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT (v2)
        cxgbit: fix sg_nents calculation
        iscsi-target: fix invalid flags in text response
        iscsi-target: fix memory leak in iscsit_setup_text_cmd()
        cxgbit: add missing __kfree_skb()
        tcmu: free old string on reconfig
        tcmu: Fix possible to/from address overflow when doing the memcpy
      a99bcdce
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.13b-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 043cd07c
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Some fixes for Xen:
      
         - a fix for a regression introduced in 4.13 for a Xen HVM-guest
           configured with KASLR
      
         - a fix for a possible deadlock in the xenbus driver when booting the
           system
      
         - a fix for lost interrupts in Xen guests"
      
      * tag 'for-linus-4.13b-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/events: Fix interrupt lost during irq_disable and irq_enable
        xen: avoid deadlock in xenbus
        xen: fix hvm guest with kaslr enabled
        xen: split up xen_hvm_init_shared_info()
        x86: provide an init_mem_mapping hypervisor hook
      043cd07c
  6. 11 Aug, 2017 1 commit
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.13-5' of git://git.linux-nfs.org/projects/anna/linux-nfs · 216e4a1d
      Linus Torvalds authored
      Pull NFS client fixes from Anna Schumaker:
       "A few more NFS client bugfixes from me for rc5.
      
        Dros has a stable fix for flexfiles to prevent leaking the
        nfs4_ff_ds_version arrays when freeing a layout, Trond fixed a
        potential recovery loop situation with the TEST_STATEID operation, and
        Christoph fixed up the pNFS blocklayout Kconfig options to prevent
        unsafe use with kernels that don't have large block device support.
        Summary:
      
        Stable fix:
         - fix leaking nfs4_ff_ds_version array
      
        Other fixes:
         - improve TEST_STATEID OLD_STATEID handling to prevent recovery loop
      
         - require 64-bit sector_t for pNFS blocklayout to prevent 32-bit
           compile errors"
      
      * tag 'nfs-for-4.13-5' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        pnfs/blocklayout: require 64-bit sector_t
        NFSv4: Ignore NFS4ERR_OLD_STATEID in nfs41_check_open_stateid()
        nfs/flexfiles: fix leak of nfs4_ff_ds_version arrays
      216e4a1d