Skip to contentSkip to conversation

locking changes for v4.13

GIT PULL Ingo Molnar 1 participant 1 message Jul 3, 2017

lore
Share & tools
lore
#0 lore raw

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: 5d6dec6fba38c3e2d408df108bb92ef4ac201f18 locking/refcount: Remove the half-implemented refcount_sub() API

The main changes in this cycle were:

- Add CONFIG_REFCOUNT_FULL=y to allow the disabling of the 'full' (robustness checked) refcount_t implementation with slightly lower runtime overhead. (Kees Cook)

The lighter weight variant is the default. The two variants use the same API. Having this variant was a precondition by some maintainers to merge refcount_t cleanups.

- Add lockdep support for rtmutexes (Peter Zijlstra)

- liblockdep fixes and improvements (Sasha Levin, Ben Hutchings)

- ... misc fixes and improvements.

Thanks,

Ingo

------------------>
Alexander Sverdlin (2):
tools: Add install make target for liblockdep tools/lib/lockdep: Don't mix fd-based and stream IO

Ben Hutchings (10):
tools/lib/lockdep: Fix undefined symbol prandom_u32 tools/lib/lockdep: Reduce MAX_LOCK_DEPTH to avoid overflowing lock_chain/: Depth tools/lib/lockdep: Define the ARRAY_SIZE() macro tools/lib/lockdep: Enable -Wall by default
tools/lib/lockdep: Fix 'unused value' warnings
tools/lib/lockdep: Fix 'set but not used' warnings tools/lib/lockdep: Fix 'defined but not used' warning for init_utsname() tools/lib/lockdep: Fix object file paths used in an out-of-tree build tools/lib/lockdep: Remove double-quotes from soname tools/lib/lockdep: Use LDFLAGS

Dmitry Vyukov (1):
locking/x86: Remove the unused atomic_inc_short() methd

Kees Cook (2):
locking/refcount: Create unchecked atomic_t implementation locking/refcount: Remove the half-implemented refcount_sub() API

Levin, Alexander (Sasha Levin) (10):
MAINTAINERS: Update email for Sasha Levin tools/lib/lockdep: Fix compilation for 4.11 tools/include: Add (mostly) empty include/linux/sched/mm.h tools/lib/lockdep: Include err.h
tools/lib/lockdep: Add empty __is_[module,kernel]_percpu_address tools/include: Add IS_ERR_OR_NULL to err.h tools/lib/lockdep: Add dummy current_gfp_context() tools/lib/lockdep: Hide liblockdep output from test results tools/lib/lockdep: Remove private kernel headers locking/rtmutex: Don't initialize lockdep when not required

Peter Zijlstra (4):
MAINTAINERS: Claim atomic*_t maintainership
rt_mutex: Add lockdep annotations locking/selftest: Remove the bad unlock ordering test locking/selftest: Add RT-mutex support

Vishal Thanki (1):
tools/lib/lockdep: Remove -lpthread compiler option

 MAINTAINERS                                        |  11 +-
 arch/Kconfig                                       |   9 ++
 arch/tile/lib/atomic_asm_32.S                      |   3 +-
 arch/x86/include/asm/atomic.h                      |  13 --
 include/linux/refcount.h                           |  38 ++++-
 include/linux/rtmutex.h                            |  25 ++-
 kernel/locking/rtmutex-debug.c                     |   6 +-
 kernel/locking/rtmutex-debug.h                     |   2 +-
 kernel/locking/rtmutex.c                           |  37 ++++-
 kernel/locking/rtmutex.h                           |   2 +-
 lib/Kconfig.debug                                  |   3 +
 lib/locking-selftest-rtmutex.h                     |  11 ++
 lib/locking-selftest.c                             | 133 ++++++++++++----
 lib/refcount.c                                     |   3 +
 tools/Makefile                                     |   8 +-
 tools/include/asm/sections.h                       |   4 +
 tools/include/linux/bitops.h                       |  10 ++
 tools/include/linux/compiler.h                     |  12 ++
 .../uinclude => include}/linux/debug_locks.h       |   3 +-
 tools/include/linux/delay.h                        |   4 +
 tools/include/linux/err.h                          |   5 +
 tools/include/linux/ftrace.h                       |   4 +
 tools/include/linux/gfp.h                          |   4 +
 .../lockdep/uinclude => include}/linux/hardirq.h   |   0
 tools/include/linux/interrupt.h                    |   4 +
 .../lockdep/uinclude => include}/linux/irqflags.h  |   8 +-
 tools/include/linux/jhash.h                        | 175 +++++++++++++++++++++
 .../lockdep/uinclude => include}/linux/kallsyms.h  |   3 +-
 .../uinclude => include}/linux/kern_levels.h       |   0
 tools/include/linux/kernel.h                       |   4 +
 .../lockdep/uinclude => include}/linux/kmemcheck.h |   0
 tools/include/linux/linkage.h                      |   4 +
 .../lockdep/uinclude => include}/linux/lockdep.h   |  34 ++--
 .../lockdep/uinclude => include}/linux/module.h    |   5 +
 tools/include/linux/mutex.h                        |   4 +
 tools/include/linux/proc_fs.h                      |   4 +
 .../{lib/lockdep/uinclude => include}/linux/rcu.h  |   3 +
 tools/include/linux/sched/clock.h                  |   4 +
 tools/include/linux/sched/mm.h                     |   4 +
 tools/include/linux/sched/task.h                   |   4 +
 tools/include/linux/seq_file.h                     |   4 +
 tools/include/linux/spinlock.h                     |  26 +++
 .../uinclude => include}/linux/stacktrace.h        |   0
 tools/include/linux/unaligned/packed_struct.h      |  46 ++++++
 tools/include/trace/events/lock.h                  |   4 +
 tools/lib/lockdep/Makefile                         |   9 +-
 tools/lib/lockdep/lockdep.c                        |  19 +++
 tools/lib/lockdep/preload.c                        |   5 +-
 tools/lib/lockdep/rbtree.c                         |   2 +-
 tools/lib/lockdep/run_tests.sh                     |   8 +-
 tools/lib/lockdep/uinclude/asm/hash.h              |   6 -
 tools/lib/lockdep/uinclude/asm/hweight.h           |   3 -
 tools/lib/lockdep/uinclude/asm/sections.h          |   3 -
 tools/lib/lockdep/uinclude/linux/bitops.h          |   3 -
 tools/lib/lockdep/uinclude/linux/compiler.h        |  10 --
 tools/lib/lockdep/uinclude/linux/delay.h           |   3 -
 tools/lib/lockdep/uinclude/linux/ftrace.h          |   3 -
 tools/lib/lockdep/uinclude/linux/gfp.h             |   3 -
 tools/lib/lockdep/uinclude/linux/hash.h            |   1 -
 tools/lib/lockdep/uinclude/linux/interrupt.h       |   3 -
 tools/lib/lockdep/uinclude/linux/kernel.h          |  47 ------
 tools/lib/lockdep/uinclude/linux/linkage.h         |   3 -
 tools/lib/lockdep/uinclude/linux/list.h            |   1 -
 tools/lib/lockdep/uinclude/linux/mutex.h           |   3 -
 tools/lib/lockdep/uinclude/linux/poison.h          |   1 -
 tools/lib/lockdep/uinclude/linux/prefetch.h        |   6 -
 tools/lib/lockdep/uinclude/linux/proc_fs.h         |   3 -
 .../lib/lockdep/uinclude/linux/rbtree_augmented.h  |   2 -
 tools/lib/lockdep/uinclude/linux/seq_file.h        |   3 -
 tools/lib/lockdep/uinclude/linux/spinlock.h        |  25 ---
 tools/lib/lockdep/uinclude/linux/stringify.h       |   7 -
 tools/lib/lockdep/uinclude/trace/events/lock.h     |   3 -
 72 files changed, 641 insertions(+), 234 deletions(-)
 create mode 100644 lib/locking-selftest-rtmutex.h
 create mode 100644 tools/include/asm/sections.h
 rename tools/{lib/lockdep/uinclude => include}/linux/debug_locks.h (74%)
 create mode 100644 tools/include/linux/delay.h
 create mode 100644 tools/include/linux/ftrace.h
 create mode 100644 tools/include/linux/gfp.h
 rename tools/{lib/lockdep/uinclude => include}/linux/hardirq.h (100%)
 create mode 100644 tools/include/linux/interrupt.h
 rename tools/{lib/lockdep/uinclude => include}/linux/irqflags.h (84%)
 create mode 100644 tools/include/linux/jhash.h
 rename tools/{lib/lockdep/uinclude => include}/linux/kallsyms.h (89%)
 rename tools/{lib/lockdep/uinclude => include}/linux/kern_levels.h (100%)
 rename tools/{lib/lockdep/uinclude => include}/linux/kmemcheck.h (100%)
 create mode 100644 tools/include/linux/linkage.h
 rename tools/{lib/lockdep/uinclude => include}/linux/lockdep.h (63%)
 rename tools/{lib/lockdep/uinclude => include}/linux/module.h (51%)
 create mode 100644 tools/include/linux/mutex.h
 create mode 100644 tools/include/linux/proc_fs.h
 rename tools/{lib/lockdep/uinclude => include}/linux/rcu.h (76%)
 create mode 100644 tools/include/linux/sched/clock.h
 create mode 100644 tools/include/linux/sched/mm.h
 create mode 100644 tools/include/linux/sched/task.h
 create mode 100644 tools/include/linux/seq_file.h
 rename tools/{lib/lockdep/uinclude => include}/linux/stacktrace.h (100%)
 create mode 100644 tools/include/linux/unaligned/packed_struct.h
 create mode 100644 tools/include/trace/events/lock.h
 delete mode 100644 tools/lib/lockdep/uinclude/asm/hash.h
 delete mode 100644 tools/lib/lockdep/uinclude/asm/hweight.h
 delete mode 100644 tools/lib/lockdep/uinclude/asm/sections.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/bitops.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/compiler.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/delay.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/ftrace.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/gfp.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/hash.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/interrupt.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/kernel.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/linkage.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/list.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/mutex.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/poison.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/prefetch.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/proc_fs.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/rbtree_augmented.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/seq_file.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/spinlock.h
 delete mode 100644 tools/lib/lockdep/uinclude/linux/stringify.h
 delete mode 100644 tools/lib/lockdep/uinclude/trace/events/lock.h

[ ... diff skipped due to size ... ]