From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Will Deacon <will@kernel.org>, Waiman Long <longman@redhat.com>,
Boqun Feng <boqun.feng@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] locking changes for v6.4
Date: Thu, 27 Apr 2023 21:58:00 +0200 [thread overview]
Message-ID: <ZErTyKxjGQvF6EqP@gmail.com> (raw)
In-Reply-To: <Y/NmzouehvMWTPVZ@gmail.com>
Linus,
Please pull the latest locking/core git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2023-04-27
# HEAD: 93eff603d6a2bc1895eeb7063dbd0661bb760b74 locking/atomic: Correct (cmp)xhcg instrumentation
Locking changes in v6.4:
- Introduce local{,64}_try_cmpxchg() - a slightly more optimal
primitive, which will be used in perf events ring-buffer code.
- Add more atomic_add_negative() variants, used by rcuref:
- Add rcuref - A scalable reference count implementation for RCU managed objects
- Add non-atomic __xchg() variant, use it in a couple of places
- Misc cleanups and fixes.
NOTE: the internal merge commit of locking/rcuref [1afa833d607b6] merging
two commits from a WIP branch has no explanation. I noticed this too
late, and we can re-do this tree if it's an issue.
Thanks,
Ingo
------------------>
Andrzej Hajda (5):
arch: rename all internal names __xchg to __arch_xchg
linux/include: add non-atomic version of xchg
arch/*/uprobes: simplify arch_uretprobe_hijack_return_addr
llist: simplify __llist_del_all
drm/i915/gt: use __xchg instead of internal helper
Mark Rutland (1):
locking/atomic: Correct (cmp)xhcg instrumentation
Sebastian Andrzej Siewior (1):
locking/rwbase: Mitigate indefinite writer starvation.
Thomas Gleixner (2):
atomics: Provide atomic_add_negative() variants
atomics: Provide rcuref - scalable reference counting
Uros Bizjak (4):
locking/atomic: Add generic try_cmpxchg{,64}_local support
locking/generic: Wire up local{,64}_try_cmpxchg
locking/arch: Wire up local_try_cmpxchg
locking/x86: Define arch_try_cmpxchg_local
arch/alpha/include/asm/cmpxchg.h | 10 +-
arch/alpha/include/asm/local.h | 12 +-
arch/arc/include/asm/cmpxchg.h | 4 +-
arch/arm/include/asm/cmpxchg.h | 7 +-
arch/arm/probes/uprobes/core.c | 8 +-
arch/arm64/include/asm/cmpxchg.h | 7 +-
arch/arm64/kernel/probes/uprobes.c | 9 +-
arch/csky/kernel/probes/uprobes.c | 9 +-
arch/hexagon/include/asm/cmpxchg.h | 10 +-
arch/ia64/include/asm/cmpxchg.h | 2 +-
arch/ia64/include/uapi/asm/cmpxchg.h | 4 +-
arch/loongarch/include/asm/cmpxchg.h | 4 +-
arch/loongarch/include/asm/local.h | 13 +-
arch/m68k/include/asm/cmpxchg.h | 6 +-
arch/mips/include/asm/cmpxchg.h | 4 +-
arch/mips/include/asm/local.h | 13 +-
arch/mips/kernel/uprobes.c | 10 +-
arch/openrisc/include/asm/cmpxchg.h | 10 +-
arch/parisc/include/asm/cmpxchg.h | 4 +-
arch/powerpc/include/asm/cmpxchg.h | 4 +-
arch/powerpc/include/asm/local.h | 11 +
arch/powerpc/kernel/uprobes.c | 10 +-
arch/riscv/include/asm/atomic.h | 2 +-
arch/riscv/include/asm/cmpxchg.h | 4 +-
arch/riscv/kernel/probes/uprobes.c | 9 +-
arch/s390/include/asm/cmpxchg.h | 8 +-
arch/s390/kernel/uprobes.c | 7 +-
arch/sh/include/asm/cmpxchg.h | 4 +-
arch/sparc/include/asm/cmpxchg_32.h | 4 +-
arch/sparc/include/asm/cmpxchg_64.h | 6 +-
arch/sparc/kernel/uprobes.c | 7 +-
arch/x86/include/asm/cmpxchg.h | 6 +
arch/x86/include/asm/local.h | 13 +-
arch/xtensa/include/asm/cmpxchg.h | 4 +-
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 2 +-
drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 4 +-
.../gpu/drm/i915/gt/intel_execlists_submission.c | 4 +-
drivers/gpu/drm/i915/gt/intel_ggtt.c | 4 +-
drivers/gpu/drm/i915/gt/intel_gsc.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 4 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 2 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 6 +-
drivers/gpu/drm/i915/gt/intel_migrate.c | 2 +-
drivers/gpu/drm/i915/gt/intel_rc6.c | 2 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 2 +-
drivers/gpu/drm/i915/gt/selftest_context.c | 2 +-
drivers/gpu/drm/i915/gt/selftest_ring_submission.c | 2 +-
drivers/gpu/drm/i915/gt/selftest_timeline.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 2 +-
drivers/gpu/drm/i915/i915_utils.h | 1 +
include/asm-generic/local.h | 1 +
include/asm-generic/local64.h | 12 +-
include/linux/atomic/atomic-arch-fallback.h | 230 ++++++++++++++++-
include/linux/atomic/atomic-instrumented.h | 152 ++++++++---
include/linux/atomic/atomic-long.h | 38 ++-
include/linux/llist.h | 6 +-
include/linux/non-atomic/xchg.h | 19 ++
include/linux/rcuref.h | 155 ++++++++++++
include/linux/types.h | 6 +
kernel/locking/rwbase_rt.c | 9 -
lib/Makefile | 2 +-
lib/rcuref.c | 281 +++++++++++++++++++++
scripts/atomic/atomics.tbl | 2 +-
scripts/atomic/fallbacks/add_negative | 11 +-
scripts/atomic/gen-atomic-fallback.sh | 4 +
scripts/atomic/gen-atomic-instrumented.sh | 8 +-
67 files changed, 1019 insertions(+), 207 deletions(-)
create mode 100644 include/linux/non-atomic/xchg.h
create mode 100644 include/linux/rcuref.h
create mode 100644 lib/rcuref.c
next prev parent reply other threads:[~2023-04-27 19:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-12 20:16 [GIT PULL] locking changes for v6.2 Ingo Molnar
2022-12-12 23:45 ` pr-tracker-bot
2023-02-20 12:25 ` [GIT PULL] locking changes for v6.3 Ingo Molnar
2023-02-21 1:52 ` pr-tracker-bot
2023-04-27 19:58 ` Ingo Molnar [this message]
2023-04-28 21:40 ` [GIT PULL] locking changes for v6.4 Linus Torvalds
2023-04-29 6:47 ` Ingo Molnar
2023-05-04 17:28 ` Andrzej Hajda
2023-05-04 18:23 ` Linus Torvalds
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=ZErTyKxjGQvF6EqP@gmail.com \
--to=mingo@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=boqun.feng@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox