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>,
Will Deacon <will@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] locking changes for v5.9
Date: Mon, 3 Aug 2020 13:54:16 +0200 [thread overview]
Message-ID: <20200803115416.GA506583@gmail.com> (raw)
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-08-03
# HEAD: 992414a18cd4de05fa3f8ff7e1c29af758bdee1a Merge branch 'locking/nmi' into locking/core, to pick up completed topic branch
These were the main changes in this cycle:
- LKMM updates: mostly documentation changes, but also some new litmus tests for atomic ops.
- KCSAN updates: the most important change is that GCC 11 now has all fixes in place
to support KCSAN, so GCC support can be enabled again. Also more annotations.
- futex updates: minor cleanups and simplifications
- seqlock updates: merge preparatory changes/cleanups for the 'associated locks' facilities.
- lockdep updates:
- simplify IRQ trace event handling
- add various new debug checks
- simplify header dependencies, split out <linux/lockdep_types.h>, decouple
lockdep from other low level headers some more
- fix NMI handling
- misc cleanups and smaller fixes
Thanks,
Ingo
------------------>
Ahmed S. Darwish (8):
Documentation: locking: Describe seqlock design and usage
seqlock: Properly format kernel-doc code samples
seqlock: seqcount_t latch: End read sections with read_seqcount_retry()
seqlock: Reorder seqcount_t and seqlock_t API definitions
seqlock: Add kernel-doc for seqcount_t and seqlock_t APIs
seqlock: Implement raw_seqcount_begin() in terms of raw_read_seqcount()
lockdep: Add preemption enabled/disabled assertion APIs
seqlock: lockdep assert non-preemptibility on seqcount_t write
Akira Yokosawa (5):
tools/memory-model: Fix reference to litmus test in recipes.txt
Documentation/litmus-tests: Merge atomic's README into top-level one
tools/memory-model/README: Expand dependency of klitmus7
tools/memory-model/README: Mention herdtools7 7.56 in compatibility table
Documentation/litmus-tests: Add note on herd7 7.56 in atomic litmus test
Alexander A. Klimov (1):
docs: locking: Replace HTTP links with HTTPS ones
Alexey Dobriyan (1):
rwsem: fix commas in initialisation
André Almeida (4):
futex: Remove put_futex_key()
futex: Remove needless goto's
futex: Consistently use fshared as boolean
futex: Remove unused or redundant includes
Andy Lutomirski (1):
x86/entry: Rename idtentry_enter/exit_cond_rcu() to idtentry_enter/exit()
Boqun Feng (4):
tools/memory-model: Add an exception for limitations on _unless() family
Documentation/litmus-tests: Introduce atomic directory
Documentation/litmus-tests/atomic: Add a test for atomic_set()
Documentation/litmus-tests/atomic: Add a test for smp_mb__after_atomic()
Herbert Xu (5):
lockdep: Split header file into lockdep and lockdep_types
lockdep: Move list.h inclusion into lockdep.h
lockdep: Move list.h inclusion into lockdep.h
locking/atomic: Move ATOMIC_INIT into linux/types.h
locking/qspinlock: Do not include atomic.h from qspinlock_types.h
Joel Fernandes (Google) (4):
Documentation: LKMM: Add litmus test for RCU GP guarantee where updater frees object
Documentation: LKMM: Add litmus test for RCU GP guarantee where reader stores
MAINTAINERS: Update maintainers for new Documentation/litmus-tests
Documentation/litmus-tests: Cite an RCU litmus test
Marco Elver (13):
kcsan: Add test suite
kcsan: Prefer '__no_kcsan inline' in test
kcsan: Silence -Wmissing-prototypes warning with W=1
kcsan: Rename test.c to selftest.c
kcsan: Remove existing special atomic rules
kcsan: Add jiffies test to test suite
kcsan: Re-add GCC as a supported compiler
kcsan: Simplify compiler flags
kcsan: Disable branch tracing in core runtime
tools/memory-model: Fix "conflict" definition
kcsan: Make KCSAN compatible with new IRQ state tracking
lockdep: Refactor IRQ trace events fields into struct
kcsan: Improve IRQ state trace reporting
Paul E. McKenney (2):
rculist: Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu()
tools/memory-model: Add recent references
Peter Zijlstra (8):
sparc64: Fix asm/percpu.h build error
lockdep: Prepare for NMI IRQ state tracking
powerpc64: Break asm/percpu.h vs spinlock_types.h dependency
x86/entry: Fix NMI vs IRQ state tracking
s390: Break cyclic percpu include
arm: Break cyclic percpu include
lockdep: Change hardirq{s_enabled,_context} to per-cpu variables
lockdep: Remove lockdep_hardirq{s_enabled,_context}() argument
Qian Cai (3):
fork: Annotate a data race in vm_area_dup()
x86/mm/pat: Mark an intentional data race
locking/osq_lock: Annotate a data race in osq_lock
peterz@infradead.org (1):
locking/lockdep: Fix TRACE_IRQFLAGS vs. NMIs
Documentation/atomic_t.txt | 24 +-
Documentation/dev-tools/kcsan.rst | 3 +-
Documentation/litmus-tests/README | 35 +
...b__after_atomic-is-stronger-than-acquire.litmus | 32 +
...Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus | 25 +
.../litmus-tests/rcu/RCU+sync+free.litmus | 42 +
.../litmus-tests/rcu/RCU+sync+read.litmus | 37 +
Documentation/locking/index.rst | 1 +
Documentation/locking/mutex-design.rst | 2 +-
Documentation/locking/seqlock.rst | 170 +++
MAINTAINERS | 2 +
arch/alpha/include/asm/atomic.h | 1 -
arch/arc/include/asm/atomic.h | 2 -
arch/arm/include/asm/atomic.h | 2 -
arch/arm/include/asm/percpu.h | 2 +-
arch/arm/include/asm/thread_info.h | 5 -
arch/arm64/include/asm/atomic.h | 2 -
arch/h8300/include/asm/atomic.h | 2 -
arch/hexagon/include/asm/atomic.h | 2 -
arch/ia64/include/asm/atomic.h | 1 -
arch/m68k/include/asm/atomic.h | 2 -
arch/mips/include/asm/atomic.h | 1 -
arch/parisc/include/asm/atomic.h | 2 -
arch/powerpc/include/asm/atomic.h | 2 -
arch/powerpc/include/asm/dtl.h | 52 +
arch/powerpc/include/asm/lppaca.h | 44 -
arch/powerpc/include/asm/paca.h | 2 +-
arch/powerpc/kernel/time.c | 2 +
arch/powerpc/kvm/book3s_hv.c | 1 +
arch/powerpc/platforms/pseries/dtl.c | 1 +
arch/powerpc/platforms/pseries/lpar.c | 1 +
arch/powerpc/platforms/pseries/setup.c | 1 +
arch/powerpc/platforms/pseries/svm.c | 1 +
arch/riscv/include/asm/atomic.h | 2 -
arch/s390/include/asm/atomic.h | 2 -
arch/s390/include/asm/smp.h | 1 +
arch/s390/include/asm/thread_info.h | 1 -
arch/sh/include/asm/atomic.h | 2 -
arch/sparc/include/asm/atomic_32.h | 2 -
arch/sparc/include/asm/atomic_64.h | 1 -
arch/sparc/include/asm/percpu_64.h | 2 +
arch/sparc/include/asm/trap_block.h | 2 +
arch/x86/Kconfig.debug | 3 +
arch/x86/entry/common.c | 88 +-
arch/x86/include/asm/atomic.h | 2 -
arch/x86/include/asm/idtentry.h | 31 +-
arch/x86/kernel/kvm.c | 6 +-
arch/x86/kernel/nmi.c | 9 +-
arch/x86/kernel/traps.c | 23 +-
arch/x86/mm/fault.c | 6 +-
arch/x86/mm/pat/set_memory.c | 2 +-
arch/xtensa/include/asm/atomic.h | 2 -
include/asm-generic/atomic.h | 2 -
include/asm-generic/qspinlock.h | 1 +
include/asm-generic/qspinlock_types.h | 8 -
include/linux/hardirq.h | 28 +-
include/linux/irqflags.h | 36 +-
include/linux/lockdep.h | 230 +---
include/linux/lockdep_types.h | 194 ++++
include/linux/rculist.h | 2 +
include/linux/rwsem.h | 20 +-
include/linux/sched.h | 17 +-
include/linux/seqlock.h | 756 ++++++++-----
include/linux/spinlock.h | 1 +
include/linux/spinlock_types.h | 2 +-
include/linux/types.h | 2 +
kernel/fork.c | 28 +-
kernel/futex.c | 114 +-
kernel/kcsan/Makefile | 9 +-
kernel/kcsan/atomic.h | 6 +-
kernel/kcsan/core.c | 37 +-
kernel/kcsan/kcsan-test.c | 1107 ++++++++++++++++++++
kernel/kcsan/kcsan.h | 7 +
kernel/kcsan/report.c | 12 +-
kernel/kcsan/{test.c => selftest.c} | 0
kernel/locking/lockdep.c | 142 ++-
kernel/locking/osq_lock.c | 6 +-
kernel/softirq.c | 8 +-
lib/Kconfig.debug | 7 +
lib/Kconfig.kcsan | 26 +-
scripts/Makefile.kcsan | 2 +-
tools/include/linux/irqflags.h | 4 +-
tools/memory-model/Documentation/explanation.txt | 83 +-
tools/memory-model/Documentation/recipes.txt | 2 +-
tools/memory-model/Documentation/references.txt | 21 +-
tools/memory-model/README | 40 +-
86 files changed, 2797 insertions(+), 854 deletions(-)
create mode 100644 Documentation/litmus-tests/README
create mode 100644 Documentation/litmus-tests/atomic/Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus
create mode 100644 Documentation/litmus-tests/atomic/Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus
create mode 100644 Documentation/litmus-tests/rcu/RCU+sync+free.litmus
create mode 100644 Documentation/litmus-tests/rcu/RCU+sync+read.litmus
create mode 100644 Documentation/locking/seqlock.rst
create mode 100644 arch/powerpc/include/asm/dtl.h
create mode 100644 include/linux/lockdep_types.h
create mode 100644 kernel/kcsan/kcsan-test.c
rename kernel/kcsan/{test.c => selftest.c} (100%)
next reply other threads:[~2020-08-03 11:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-03 11:54 Ingo Molnar [this message]
2020-08-03 22:10 ` [GIT PULL] locking changes for v5.9 pr-tracker-bot
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=20200803115416.GA506583@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=will@kernel.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.