linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

[ ... ]

  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 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).