Linus Torvalds 168829ad09 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking updates from Ingo Molnar:
 "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"

* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
  lkdtm: Remove references to CONFIG_REFCOUNT_FULL
  locking/refcount: Remove unused 'refcount_error_report()' function
  locking/refcount: Consolidate implementations of refcount_t
  locking/refcount: Consolidate REFCOUNT_{MAX,SATURATED} definitions
  locking/refcount: Move saturation warnings out of line
  locking/refcount: Improve performance of generic REFCOUNT_FULL code
  locking/refcount: Move the bulk of the REFCOUNT_FULL implementation into the <linux/refcount.h> header
  locking/refcount: Remove unused refcount_*_checked() variants
  locking/refcount: Ensure integer operands are treated as signed
  locking/refcount: Define constants for saturation and max refcount values
  futex: Prevent exit livelock
  futex: Provide distinct return value when owner is exiting
  futex: Add mutex around futex exit
  futex: Provide state handling for exec() as well
  futex: Sanitize exit state handling
  futex: Mark the begin of futex exit explicitly
  futex: Set task::futex_state to DEAD right after handling futex exit
  futex: Split futex_mm_release() for exit/exec
  exit/exec: Seperate mm_release()
  futex: Replace PF_EXITPIDONE with a state
  ...
2019-11-26 16:02:40 -08:00
..
2019-11-25 19:40:40 -08:00
2019-10-23 06:26:33 -04:00
2019-11-25 17:37:30 -08:00
2019-10-28 16:47:22 -07:00
2019-11-25 21:10:05 -08:00
2019-10-24 08:45:31 +03:00
2019-11-25 19:40:40 -08:00
2019-11-25 19:40:40 -08:00
2019-09-19 14:14:28 -07:00
2019-09-18 11:14:31 -07:00
2019-11-25 21:11:55 -08:00
2019-09-22 12:02:21 -07:00
2019-10-31 11:24:52 +01:00
2019-11-25 19:40:40 -08:00
2019-11-22 19:56:35 +00:00
2019-11-25 18:02:36 -08:00
2019-11-17 18:34:25 +01:00
2019-09-23 17:20:40 -04:00
2019-10-21 09:08:15 +02:00
2019-09-29 10:33:41 -07:00
2019-11-25 11:18:03 -08:00
2019-10-07 09:47:37 -07:00
2019-11-25 19:40:40 -08:00
2019-10-15 23:51:36 +02:00
2019-11-25 19:40:40 -08:00
2019-09-22 10:55:08 -07:00
2019-09-22 11:05:43 -07:00
2019-08-18 12:56:10 +02:00
2019-11-22 19:56:35 +00:00
2019-11-07 06:43:18 -07:00
2019-09-18 11:14:31 -07:00
2019-10-15 14:07:01 -06:00
2019-11-25 19:40:40 -08:00
2019-11-20 02:15:57 -05:00
2019-11-24 11:55:31 +01:00
2019-09-18 11:05:34 -07:00