* [GIT PULL] locking changes for v5.5
@ 2019-11-25 11:35 Ingo Molnar
2019-11-26 8:38 ` Ingo Molnar
2019-11-27 1:30 ` pr-tracker-bot
0 siblings, 2 replies; 3+ messages in thread
From: Ingo Molnar @ 2019-11-25 11:35 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, Will Deacon,
Paul E. McKenney, Andrew Morton
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: 500543c53a54134ced386aed85cd93cf1363f981 lkdtm: Remove references to CONFIG_REFCOUNT_FULL
The main changes in this cycle were:
- A comprehensive rewrite of the robust/PI futex code's exit handling to
fix various exit races. (Thomas Gleixner et al)
- Rework the generic REFCOUNT_FULL implementation using atomic_fetch_*
operations so that the performance impact of the cmpxchg() loops is
mitigated for common refcount operations.
With these performance improvements the generic implementation of
refcount_t should be good enough for everybody - and this got
confirmed by performance testing, so remove ARCH_HAS_REFCOUNT and
REFCOUNT_FULL entirely, leaving the generic implementation enabled
unconditionally. (Will Deacon)
- Other misc changes, fixes, cleanups.
Thanks,
Ingo
------------------>
Dan Carpenter (1):
locking/lockdep: Update the comment for __lock_release()
Davidlohr Bueso (2):
futex: Drop leftover wake_q_add() comment
locking/mutex: Complain upon mutex API misuse in IRQ contexts
Qian Cai (1):
locking/lockdep: Remove unused @nested argument from lock_release()
Thomas Gleixner (11):
futex: Move futex exit handling into futex code
futex: Replace PF_EXITPIDONE with a state
exit/exec: Seperate mm_release()
futex: Split futex_mm_release() for exit/exec
futex: Set task::futex_state to DEAD right after handling futex exit
futex: Mark the begin of futex exit explicitly
futex: Sanitize exit state handling
futex: Provide state handling for exec() as well
futex: Add mutex around futex exit
futex: Provide distinct return value when owner is exiting
futex: Prevent exit livelock
Waiman Long (1):
lib/smp_processor_id: Don't use cpumask_equal()
Will Deacon (10):
locking/refcount: Define constants for saturation and max refcount values
locking/refcount: Ensure integer operands are treated as signed
locking/refcount: Remove unused refcount_*_checked() variants
locking/refcount: Move the bulk of the REFCOUNT_FULL implementation into the <linux/refcount.h> header
locking/refcount: Improve performance of generic REFCOUNT_FULL code
locking/refcount: Move saturation warnings out of line
locking/refcount: Consolidate REFCOUNT_{MAX,SATURATED} definitions
locking/refcount: Consolidate implementations of refcount_t
locking/refcount: Remove unused 'refcount_error_report()' function
lkdtm: Remove references to CONFIG_REFCOUNT_FULL
Yang Tao (1):
futex: Prevent robust futex exit race
arch/Kconfig | 21 --
arch/arm/Kconfig | 1 -
arch/arm64/Kconfig | 1 -
arch/s390/configs/debug_defconfig | 1 -
arch/x86/Kconfig | 1 -
arch/x86/include/asm/asm.h | 6 -
arch/x86/include/asm/refcount.h | 126 ----------
arch/x86/mm/extable.c | 49 ----
drivers/gpu/drm/drm_connector.c | 2 +-
drivers/gpu/drm/i915/Kconfig.debug | 1 -
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 6 +-
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 2 +-
drivers/gpu/drm/i915/i915_request.c | 2 +-
drivers/misc/lkdtm/refcount.c | 11 +-
drivers/tty/tty_ldsem.c | 8 +-
fs/dcache.c | 2 +-
fs/exec.c | 2 +-
fs/jbd2/transaction.c | 4 +-
fs/kernfs/dir.c | 4 +-
fs/ocfs2/dlmglue.c | 2 +-
include/linux/compat.h | 2 -
include/linux/futex.h | 40 +++-
include/linux/jbd2.h | 2 +-
include/linux/kernel.h | 7 -
include/linux/lockdep.h | 21 +-
include/linux/percpu-rwsem.h | 4 +-
include/linux/rcupdate.h | 2 +-
include/linux/refcount.h | 269 +++++++++++++++++----
include/linux/rwlock_api_smp.h | 16 +-
include/linux/sched.h | 3 +-
include/linux/sched/mm.h | 6 +-
include/linux/seqlock.h | 4 +-
include/linux/spinlock_api_smp.h | 8 +-
include/linux/ww_mutex.h | 2 +-
include/net/sock.h | 2 +-
kernel/bpf/stackmap.c | 2 +-
kernel/cpu.c | 2 +-
kernel/exit.c | 30 +--
kernel/fork.c | 40 ++--
kernel/futex.c | 326 ++++++++++++++++++++++----
kernel/locking/lockdep.c | 7 +-
kernel/locking/mutex.c | 8 +-
kernel/locking/rtmutex.c | 6 +-
kernel/locking/rwsem.c | 10 +-
kernel/panic.c | 11 -
kernel/printk/printk.c | 10 +-
kernel/sched/core.c | 2 +-
lib/locking-selftest.c | 24 +-
lib/refcount.c | 255 +++-----------------
lib/smp_processor_id.c | 2 +-
mm/memcontrol.c | 2 +-
net/core/sock.c | 2 +-
tools/lib/lockdep/include/liblockdep/common.h | 3 +-
tools/lib/lockdep/include/liblockdep/mutex.h | 2 +-
tools/lib/lockdep/include/liblockdep/rwlock.h | 2 +-
tools/lib/lockdep/preload.c | 16 +-
56 files changed, 686 insertions(+), 716 deletions(-)
delete mode 100644 arch/x86/include/asm/refcount.h
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] locking changes for v5.5
2019-11-25 11:35 [GIT PULL] locking changes for v5.5 Ingo Molnar
@ 2019-11-26 8:38 ` Ingo Molnar
2019-11-27 1:30 ` pr-tracker-bot
1 sibling, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2019-11-26 8:38 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, Will Deacon,
Paul E. McKenney, Andrew Morton
* Ingo Molnar <mingo@kernel.org> wrote:
> 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: 500543c53a54134ced386aed85cd93cf1363f981 lkdtm: Remove references to CONFIG_REFCOUNT_FULL
> net/core/sock.c | 2 +-
Merge conflict note, the following commit from the locking tree:
5facae4f3549: ("locking/lockdep: Remove unused @nested argument from lock_release()")
Conflicts with the following new commit in the networking tree, also
upstream now:
8265792bf887: ("net: silence KCSAN warnings around sk_add_backlog() calls")
This is just a context conflict, the two one-liner changes can be applied
independently, resulting in:
5facae4f3549: mutex_release(&sk->sk_lock.dep_map, _RET_IP_);
8265792bf887: } else if (sk_add_backlog(sk, skb, READ_ONCE(sk->sk_rcvbuf))) {
This resolution is in tip:master as well.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] locking changes for v5.5
2019-11-25 11:35 [GIT PULL] locking changes for v5.5 Ingo Molnar
2019-11-26 8:38 ` Ingo Molnar
@ 2019-11-27 1:30 ` pr-tracker-bot
1 sibling, 0 replies; 3+ messages in thread
From: pr-tracker-bot @ 2019-11-27 1:30 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Thomas Gleixner,
Will Deacon, Paul E. McKenney, Andrew Morton
The pull request you sent on Mon, 25 Nov 2019 12:35:42 +0100:
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/168829ad09ca9cdfdc664b2110d0e3569932c12d
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-11-27 1:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-25 11:35 [GIT PULL] locking changes for v5.5 Ingo Molnar
2019-11-26 8:38 ` Ingo Molnar
2019-11-27 1:30 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).