[GIT PULL] locking changes for v5.8
From: Ingo Molnar
Date: Mon Jun 01 2020 - 09:32:35 EST
Linus,
Please pull the latest locking/core git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2020-06-01
# HEAD: 19f545b6e07f753c4dc639c2f0ab52345733b6a8 zram: Use local lock to protect per-CPU data
The biggest change to core locking facilities in this cycle is the introduction
of local_lock_t - this primitive comes from the -rt project and identifies
CPU-local locking dependencies normally handled opaquely beind preempt_disable()
or local_irq_save/disable() critical sections.
The generated code on mainline kernels doesn't change as a result, but still there
are benefits: improved debugging and better documentation of data structure
accesses.
The new local_lock_t primitives are introduced and then utilized in a couple of
kernel subsystems. No change in functionality is intended.
There's also other smaller changes and cleanups.
Thanks,
Ingo
------------------>
Alex Shi (1):
locking/rtmutex: Remove unused rt_mutex_cmpxchg_relaxed()
Gustavo A. R. Silva (1):
locking/lockdep: Replace zero-length array with flexible-array
Ingo Molnar (1):
mm/swap: Use local_lock for protection
Julia Cartwright (1):
squashfs: Make use of local lock in multi_cpu decompressor
Mike Galbraith (2):
connector/cn_proc: Protect send_msg() with a local lock
zram: Use local lock to protect per-CPU data
Sebastian Andrzej Siewior (2):
radix-tree: Use local_lock for protection
zram: Allocate struct zcomp_strm as per-CPU memory
Thomas Gleixner (1):
locking: Introduce local_lock()
Documentation/locking/locktypes.rst | 215 ++++++++++++++++++++++++++++++--
drivers/block/zram/zcomp.c | 44 +++----
drivers/block/zram/zcomp.h | 5 +-
drivers/connector/cn_proc.c | 21 ++--
fs/squashfs/decompressor_multi_percpu.c | 21 ++--
include/linux/idr.h | 2 +-
include/linux/local_lock.h | 54 ++++++++
include/linux/local_lock_internal.h | 90 +++++++++++++
include/linux/radix-tree.h | 11 +-
include/linux/swap.h | 1 +
kernel/locking/lockdep.c | 2 +-
kernel/locking/rtmutex.c | 2 -
lib/radix-tree.c | 20 ++-
mm/compaction.c | 6 +-
mm/swap.c | 118 ++++++++++++------
15 files changed, 502 insertions(+), 110 deletions(-)
create mode 100644 include/linux/local_lock.h
create mode 100644 include/linux/local_lock_internal.h