From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
"Paul E. McKenney" <paulmck@us.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL v2] locking changes for v4.11
Date: Mon, 20 Feb 2017 11:26:50 +0100 [thread overview]
Message-ID: <20170220102650.GA11652@gmail.com> (raw)
In-Reply-To: <20170220095420.GA17198@gmail.com>
* 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: bc88c10d7e6900916f5e1ba3829d66a9de92b633 locking/spinlock/debug: Remove spinlock lockup detection code
Hm, Peter just reminded me that I forgot to apply a fix that squashes a boot time
warning on some x86 CPUs.
I've pushed a new version with that single commit (95cb64c1fe6) appended, the
updated diffstat and shortlog is below:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
# HEAD: 95cb64c1fe61e70685a95f6260c8e9cd219fe08c fork: Fix task_struct alignment
... sorry about this!
Thanks,
Ingo
------------------>
Andy Shevchenko (1):
locking/jump_labels: Update bug_at() boot message
Byungchul Park (1):
lockdep: Fix incorrect condition to print bug msgs for MAX_LOCKDEP_CHAIN_HLOCKS
Chris Wilson (8):
locking/ww_mutex: Fix compilation of __WW_MUTEX_INITIALIZER
locking/ww_mutex: Add ww_mutex to locktorture test
locking/ww_mutex: Begin kselftests for ww_mutex
locking/ww_mutex: Add kselftests for ww_mutex AA deadlock detection
locking/ww_mutex: Add kselftests for ww_mutex ABBA deadlock detection
locking/ww_mutex: Add kselftests for resolving ww_mutex cyclic deadlocks
locking/ww_mutex: Add kselftests for ww_mutex stress
locking/ww_mutex: Add ww_mutex to tools/testing/selftests
Davidlohr Bueso (8):
kernel/exit: Compute 'current' directly
drivers/tty: Compute 'current' directly
kernel/locking: Compute 'current' directly
sched/core: Remove set_task_state()
sched/wait, RCU: Introduce rcuwait machinery
locking/percpu-rwsem: Replace waitqueue with rcuwait
sched/wait, rcuwait: Fix typo in comment
sched/wake_q: Clarify queue reinit comment
Ingo Molnar (1):
locking/ww_mutex: Turn off __must_check for now
Kees Cook (1):
lkdtm: Convert to refcount_t testing
Luis R. Rodriguez (1):
jump_labels: Move header guard #endif down where it belongs
Nicolai Hähnle (10):
locking/ww_mutex: Extract stamp comparison to __ww_mutex_stamp_after()
locking/ww_mutex: Set use_ww_ctx even when locking without a context
locking/ww_mutex: Remove the __ww_mutex_lock*() inline wrappers
locking/ww_mutex: Add waiters in stamp order
locking/ww_mutex: Notify waiters that have to back off while adding tasks to wait list
locking/ww_mutex: Optimize ww-mutexes by waking at most one waiter for backoff when acquiring the lock
locking/ww_mutex: Re-check ww->ctx in the inner optimistic spin loop
locking/ww_mutex: Optimize ww-mutexes by yielding to other waiters from optimistic spin
locking/mutex: Initialize mutex_waiter::ww_ctx with poison when debugging
locking/ww_mutex/Documentation: Update the design document
Pan Xinhui (1):
locking/pvqspinlock: Don't wait if vCPU is preempted
Peter Zijlstra (12):
locking/mutex: Fix mutex handoff
locking/mutex: Improve inlining
locking/atomic, kref: Add KREF_INIT()
locking/atomic, kref: Add kref_read()
locking/atomic, kref: Kill kref_sub()
locking/atomic, kref: Use kref_get_unless_zero() more
locking/atomic, kref: Avoid more abuse
locking/atomic, kref: Implement kref_put_lock()
locking/mutex: Fix lockdep_assert_held() fail
refcount_t: Introduce a special purpose refcount type
kref: Implement 'struct kref' using refcount_t
fork: Fix task_struct alignment
Steven Rostedt (VMware) (1):
locking/rtmutex: Flip unlikely() branch to likely() in __rt_mutex_slowlock()
Waiman Long (5):
locking/spinlocks: Remove the unused spin_lock_bh_nested() API
locking/spinlocks/x86, paravirt: Remove paravirt_ticketlocks_enabled
locking/rwsem: Remove unnecessary atomic_long_t casts
locking/rwsem: Reinit wake_q after use
locking/spinlock/debug: Remove spinlock lockup detection code
Documentation/locking/ww-mutex-design.txt | 12 +-
arch/um/drivers/random.c | 2 +-
arch/x86/include/asm/spinlock.h | 3 -
arch/x86/kernel/jump_label.c | 3 +-
arch/x86/kernel/kvm.c | 14 -
arch/x86/kernel/paravirt-spinlocks.c | 3 -
arch/x86/xen/spinlock.c | 19 -
drivers/block/drbd/drbd_bitmap.c | 2 +-
drivers/block/drbd/drbd_main.c | 7 +-
drivers/block/drbd/drbd_req.c | 31 +-
drivers/block/rbd.c | 8 +-
drivers/block/virtio_blk.c | 2 +-
drivers/gpu/drm/drm_gem_cma_helper.c | 2 +-
drivers/gpu/drm/drm_info.c | 2 +-
drivers/gpu/drm/drm_mode_object.c | 4 +-
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 2 +-
drivers/gpu/drm/i915/i915_gem_object.h | 2 +-
drivers/gpu/drm/msm/msm_gem.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_fence.c | 2 +-
drivers/gpu/drm/omapdrm/omap_gem.c | 2 +-
drivers/gpu/drm/ttm/ttm_bo.c | 63 +-
drivers/gpu/drm/ttm/ttm_execbuf_util.c | 4 +-
drivers/gpu/drm/ttm/ttm_object.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_cm.h | 6 +-
drivers/infiniband/hw/cxgb3/iwch_qp.c | 2 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 6 +-
drivers/infiniband/hw/cxgb4/qp.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 6 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 4 +-
drivers/md/dm-bufio.c | 2 +-
drivers/md/dm-crypt.c | 4 +-
drivers/md/persistent-data/dm-block-manager.c | 4 +-
drivers/misc/genwqe/card_dev.c | 2 +-
drivers/misc/lkdtm.h | 8 +-
drivers/misc/lkdtm_bugs.c | 87 ++-
drivers/misc/lkdtm_core.c | 8 +-
drivers/misc/mei/debugfs.c | 2 +-
drivers/pci/hotplug/pnv_php.c | 2 +-
drivers/pci/slot.c | 2 +-
drivers/scsi/bnx2fc/bnx2fc_io.c | 8 +-
drivers/scsi/cxgbi/libcxgbi.h | 4 +-
drivers/scsi/lpfc/lpfc_debugfs.c | 2 +-
drivers/scsi/lpfc/lpfc_els.c | 2 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 40 +-
drivers/scsi/lpfc/lpfc_init.c | 3 +-
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 4 +-
drivers/staging/android/ion/ion.c | 2 +-
drivers/staging/comedi/comedi_buf.c | 2 +-
.../staging/lustre/lnet/libcfs/linux/linux-debug.c | 2 +-
drivers/target/target_core_pr.c | 10 +-
drivers/target/tcm_fc/tfc_sess.c | 2 +-
drivers/tty/tty_ldsem.c | 18 +-
drivers/usb/gadget/function/f_fs.c | 2 +-
drivers/usb/mon/mon_main.c | 2 +-
fs/exofs/sys.c | 2 +-
fs/fuse/fuse_i.h | 2 +-
fs/ocfs2/cluster/netdebug.c | 2 +-
fs/ocfs2/cluster/tcp.c | 2 +-
fs/ocfs2/dlm/dlmdebug.c | 12 +-
fs/ocfs2/dlm/dlmdomain.c | 2 +-
fs/ocfs2/dlm/dlmmaster.c | 8 +-
fs/ocfs2/dlm/dlmunlock.c | 2 +-
include/asm-generic/rwsem.h | 13 +-
include/drm/drm_framebuffer.h | 2 +-
include/drm/ttm/ttm_bo_api.h | 15 +-
include/drm/ttm/ttm_bo_driver.h | 4 +-
include/linux/jump_label.h | 4 +-
include/linux/kref.h | 78 +--
include/linux/mutex.h | 5 +-
include/linux/percpu-rwsem.h | 8 +-
include/linux/poison.h | 1 +
include/linux/rcuwait.h | 63 ++
include/linux/refcount.h | 294 ++++++++++
include/linux/sched.h | 37 +-
include/linux/spinlock.h | 8 -
include/linux/spinlock_api_smp.h | 2 -
include/linux/spinlock_api_up.h | 1 -
include/linux/sunrpc/cache.h | 2 +-
include/linux/ww_mutex.h | 32 +-
include/net/bluetooth/hci_core.h | 4 +-
init/version.c | 4 +-
kernel/exit.c | 52 +-
kernel/fork.c | 6 +-
kernel/locking/Makefile | 1 +
kernel/locking/lockdep.c | 2 +-
kernel/locking/locktorture.c | 73 +++
kernel/locking/mutex-debug.h | 17 -
kernel/locking/mutex.c | 516 ++++++++++------
kernel/locking/mutex.h | 4 -
kernel/locking/percpu-rwsem.c | 7 +-
kernel/locking/qspinlock_paravirt.h | 2 +-
kernel/locking/rtmutex.c | 2 +-
kernel/locking/rwsem-spinlock.c | 18 +-
kernel/locking/rwsem-xadd.c | 14 +-
kernel/locking/semaphore.c | 7 +-
kernel/locking/spinlock.c | 8 -
kernel/locking/spinlock_debug.c | 86 +--
kernel/locking/test-ww_mutex.c | 646 +++++++++++++++++++++
kernel/pid.c | 4 +-
lib/Kconfig.debug | 25 +
net/bluetooth/6lowpan.c | 2 +-
net/bluetooth/a2mp.c | 4 +-
net/bluetooth/amp.c | 4 +-
net/bluetooth/l2cap_core.c | 4 +-
net/ceph/messenger.c | 4 +-
net/ceph/osd_client.c | 10 +-
net/sunrpc/cache.c | 2 +-
net/sunrpc/svc_xprt.c | 6 +-
net/sunrpc/svcauth.c | 15 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 +-
security/apparmor/include/apparmor.h | 6 -
security/apparmor/include/policy.h | 4 +-
tools/testing/selftests/locking/ww_mutex.sh | 10 +
.../selftests/rcutorture/configs/lock/CFLIST | 1 +
.../selftests/rcutorture/configs/lock/LOCK07 | 6 +
.../selftests/rcutorture/configs/lock/LOCK07.boot | 1 +
116 files changed, 1864 insertions(+), 761 deletions(-)
create mode 100644 include/linux/rcuwait.h
create mode 100644 include/linux/refcount.h
create mode 100644 kernel/locking/test-ww_mutex.c
create mode 100644 tools/testing/selftests/locking/ww_mutex.sh
create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK07
create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK07.boot
[ ... ]
next prev parent reply other threads:[~2017-02-20 10:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-20 9:54 [GIT PULL] locking changes for v4.11 Ingo Molnar
2017-02-20 10:26 ` Ingo Molnar [this message]
2017-02-20 21:31 ` Linus Torvalds
2017-02-20 22:38 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170220102650.GA11652@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@us.ibm.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.