From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S378728AbdEAKQM (ORCPT ); Mon, 1 May 2017 06:16:12 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:35739 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S3000243AbdEAKP4 (ORCPT ); Mon, 1 May 2017 06:15:56 -0400 Date: Mon, 1 May 2017 12:15:52 +0200 From: Ingo Molnar To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , "Paul E. McKenney" , Andrew Morton Subject: [GIT PULL] locking changes for v4.12 Message-ID: <20170501101551.7ysqwo6dgue37keb@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: 59cd42c29618c45cd3c56da43402b14f611888dd MAINTAINERS: Add FUTEX SUBSYSTEM ( NOTE: due to dependencies this tree relies on the sched/core tree. If you did not pull that tree then disregard this pull request, I'll rework it all. ) The main changes in this cycle were: - A big round of FUTEX_UNLOCK_PI improvements, fixes, cleanups and general restructuring - Lockdep updates such as new checks for lock_downgrade() - Introduce the new atomic_try_cmpxchg() locking API and use it to optimize refcount code generation - ... plus misc fixes, updates and cleanups. Thanks, Ingo ------------------> Chris Wilson (1): locking/ww-mutex: Limit stress test to 2 seconds Darren Hart (VMware) (2): futex: Clarify mark_wake_futex memory barrier usage MAINTAINERS: Add FUTEX SUBSYSTEM David Windsor (1): locking/refcount: Add refcount_t API kernel-doc comments Ingo Molnar (2): Merge branch 'locking/urgent' into locking/core, to pick up fixes Merge branch 'linus' into locking/core, to pick up fixes J. R. Okajima (3): locking/lockdep: Factor out the find_held_lock() helper function locking/lockdep: Factor out the validate_held_lock() helper function locking/lockdep: Add new check to lock_downgrade() Mike Galbraith (1): rtmutex: Plug preempt count leak in rt_mutex_futex_unlock() Peter Zijlstra (25): locking/ww_mutex: Improve test to cover acquire context changes locking/atomic: Introduce atomic_try_cmpxchg() locking/refcounts: Use atomic_try_cmpxchg() locking/atomic/x86: Use atomic_try_cmpxchg() futex: Cleanup variable names for futex_top_waiter() futex: Use smp_store_release() in mark_wake_futex() futex: Remove rt_mutex_deadlock_account_*() futex,rt_mutex: Provide futex specific rt_mutex API futex: Change locking rules futex: Cleanup refcounting futex: Rework inconsistent rt_mutex/futex_q state futex: Pull rt_mutex_futex_unlock() out from under hb->lock futex,rt_mutex: Introduce rt_mutex_init_waiter() futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock() futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock() futex: Futex_unlock_pi() determinism futex: Drop hb->lock before enqueueing on the rtmutex lockdep: Fix per-cpu static objects locking/atomic: Fix atomic_try_cmpxchg() semantics rtmutex: Clean up sched/rtmutex: Refactor rt_mutex_setprio() sched,tracing: Update trace_sched_pi_setprio() rtmutex: Fix PI chain order integrity rtmutex: Fix more prio comparisons futex: Fix small (and harmless looking) inconsistencies Thomas Gleixner (3): locking/lockdep: Handle statically initialized PER_CPU locks properly Merge branch 'sched/core' into locking/core futex: Avoid freeing an active timer Xunlei Pang (3): rtmutex: Deboost before waking up the top waiter sched/rtmutex/deadline: Fix a PI crash for deadline tasks sched/deadline/rtmutex: Dont miss the dl_runtime/dl_period update MAINTAINERS | 17 +++++ arch/x86/include/asm/atomic.h | 33 ++++----- arch/x86/include/asm/atomic64_64.h | 46 ++++++------- arch/x86/include/asm/cmpxchg.h | 70 +++++++++++++++++++ include/linux/atomic.h | 46 +++++++++++++ include/linux/init_task.h | 1 + include/linux/lockdep.h | 3 + include/linux/module.h | 6 ++ include/linux/percpu.h | 1 + include/linux/refcount.h | 19 ++++++ include/linux/sched.h | 2 + include/linux/sched/rt.h | 23 +++---- include/linux/smp.h | 12 ++++ include/trace/events/sched.h | 16 +++-- kernel/cpu.c | 6 ++ kernel/fork.c | 1 + kernel/futex.c | 518 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------- kernel/locking/lockdep.c | 242 +++++++++++++++++++++++++++++++++++++++++------------------------ kernel/locking/rtmutex-debug.c | 9 --- kernel/locking/rtmutex-debug.h | 3 - kernel/locking/rtmutex.c | 390 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------- kernel/locking/rtmutex.h | 2 - kernel/locking/rtmutex_common.h | 25 +++++-- kernel/locking/rwsem.c | 6 +- kernel/locking/test-ww_mutex.c | 29 ++++---- kernel/module.c | 42 ++++++++---- kernel/sched/core.c | 64 +++++++++++++++--- lib/refcount.c | 169 ++++++++++++++++++++++++++++++++++------------ mm/percpu.c | 40 +++++++---- 29 files changed, 1231 insertions(+), 610 deletions(-)