[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190506085014.GA130963@gmail.com>
Date: Mon, 6 May 2019 10:50:14 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Will Deacon <will.deacon@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] locking changes for v5.2
Linus,
Please pull the latest locking-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
# HEAD: d671002be6bdd7f77a771e23bf3e95d1f16775e6 locking/lockdep: Remove unnecessary unlikely()
[ Dependency note: this tree depends on commits also in the RCU tree,
please disregard this pull request if you weren't able to pull the RCU
tree for some reason. ]
Here are the locking changes in this cycle:
- rwsem unification and simpler micro-optimizations to prepare for more
intrusive (and more lucrative) scalability improvements in v5.3
(Waiman Long)
- Lockdep irq state tracking flag usage cleanups (Frederic Weisbecker)
- static key improvements (Jakub Kicinski, Peter Zijlstra)
- misc updates, cleanups and smaller fixes.
Thanks,
Ingo
------------------>
Arnd Bergmann (1):
locking/lockdep: Avoid bogus Clang warning
Frederic Weisbecker (4):
locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING
locking/lockdep: Map remaining magic numbers to lock usage mask names
locking/lockdep: Use expanded masks on find_usage_*() functions
locking/lockdep: Test all incompatible scenarios at once in check_irq_usage()
Ingo Molnar (3):
Merge branch 'linus' into locking/core, to pick up fixes
Merge branch 'lkmm-for-mingo' of git://git.kernel.org/.../paulmck/linux-rcu into locking/core
Merge branch 'locking-core-for-linus' into linus
Jakub Kicinski (3):
locking/static_key: Add support for deferred static branches
locking/static_key: Factor out the fast path of static_key_slow_dec()
locking/static_key: Don't take sleeping locks in __static_key_slow_dec_deferred()
Peter Zijlstra (2):
locking/static_key: Fix false positive warnings on concurrent dec/inc
locking/lockdep: Generate LOCKF_ bit composites
Waiman Long (15):
locking/rwsem: Remove arch specific rwsem files
locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs
locking/rwsem: Optimize down_read_trylock()
locking/rwsem: Relocate rwsem_down_read_failed()
locking/rwsem: Move owner setting code from rwsem.c to rwsem.h
locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h
locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued()
locking/rwsem: Add debug check for __down_read*()
locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs
locking/lock_events: Make lock_events available for all archs & other locks
locking/lock_events: Don't show pvqspinlock events on bare metal
locking/rwsem: Enable lock event counting
locking/rwsem: Optimize rwsem structure for uncontended lock acquisition
locking/rwsem: Prevent unneeded warning during locking selftest
zhengbin (1):
locking/lockdep: Remove unnecessary unlikely()
MAINTAINERS | 1 -
arch/Kconfig | 9 +
arch/alpha/Kconfig | 7 -
arch/alpha/include/asm/rwsem.h | 211 ----------------------
arch/arc/Kconfig | 3 -
arch/arm/Kconfig | 4 -
arch/arm/include/asm/Kbuild | 1 -
arch/arm64/Kconfig | 3 -
arch/arm64/include/asm/Kbuild | 1 -
arch/c6x/Kconfig | 3 -
arch/csky/Kconfig | 3 -
arch/h8300/Kconfig | 3 -
arch/hexagon/Kconfig | 6 -
arch/hexagon/include/asm/Kbuild | 1 -
arch/ia64/Kconfig | 4 -
arch/ia64/include/asm/rwsem.h | 172 ------------------
arch/m68k/Kconfig | 7 -
arch/microblaze/Kconfig | 6 -
arch/mips/Kconfig | 7 -
arch/nds32/Kconfig | 3 -
arch/nios2/Kconfig | 3 -
arch/openrisc/Kconfig | 6 -
arch/parisc/Kconfig | 6 -
arch/powerpc/Kconfig | 7 -
arch/powerpc/include/asm/Kbuild | 1 -
arch/riscv/Kconfig | 3 -
arch/s390/Kconfig | 6 -
arch/s390/include/asm/Kbuild | 1 -
arch/sh/Kconfig | 6 -
arch/sh/include/asm/Kbuild | 1 -
arch/sparc/Kconfig | 8 -
arch/sparc/include/asm/Kbuild | 1 -
arch/unicore32/Kconfig | 6 -
arch/x86/Kconfig | 11 --
arch/x86/include/asm/rwsem.h | 237 ------------------------
arch/x86/lib/Makefile | 1 -
arch/x86/lib/rwsem.S | 156 ----------------
arch/x86/um/Kconfig | 6 -
arch/x86/um/Makefile | 4 +-
arch/xtensa/Kconfig | 3 -
arch/xtensa/include/asm/Kbuild | 1 -
include/asm-generic/rwsem.h | 140 ---------------
include/linux/jump_label_ratelimit.h | 64 ++++++-
include/linux/lockdep.h | 2 +-
include/linux/rwsem-spinlock.h | 47 -----
include/linux/rwsem.h | 37 ++--
kernel/Kconfig.locks | 2 +-
kernel/jump_label.c | 63 ++++---
kernel/locking/Makefile | 5 +-
kernel/locking/lock_events.c | 179 ++++++++++++++++++
kernel/locking/lock_events.h | 59 ++++++
kernel/locking/lock_events_list.h | 67 +++++++
kernel/locking/lockdep.c | 267 ++++++++++++++++++---------
kernel/locking/lockdep_internals.h | 34 +++-
kernel/locking/percpu-rwsem.c | 2 +
kernel/locking/qspinlock.c | 8 +-
kernel/locking/qspinlock_paravirt.h | 19 +-
kernel/locking/qspinlock_stat.h | 242 +++++--------------------
kernel/locking/rwsem-spinlock.c | 339 -----------------------------------
kernel/locking/rwsem-xadd.c | 204 +++++++++++----------
kernel/locking/rwsem.c | 25 +--
kernel/locking/rwsem.h | 174 +++++++++++++++++-
62 files changed, 983 insertions(+), 1925 deletions(-)
Powered by blists - more mailing lists