From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
"Paul E. McKenney" <paulmck@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] RCU changes for v5.10
Date: Mon, 12 Oct 2020 16:14:51 +0200 [thread overview]
Message-ID: <20201012141451.GA3425471@gmail.com> (raw)
Linus,
Please pull the latest core/rcu git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-2020-10-12
# HEAD: c6de896fa0a4546c799c86513d99bd011b4a6177 Merge branch 'rcu/fix-rt' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
RCU changes for v5.10:
- Debugging for smp_call_function()
- RT raw/non-raw lock ordering fixes
- Strict grace periods for KASAN
- New smp_call_function() torture test
- Torture-test updates
- Documentation updates
- Miscellaneous fixes
Thanks,
Ingo
------------------>
Alexander A. Klimov (1):
rcutorture: Replace HTTP links with HTTPS ones
Colin Ian King (1):
refperf: Avoid null pointer dereference when buf fails to allocate
Joel Fernandes (Google) (6):
rcu/trace: Print negative GP numbers correctly
rcu/trace: Use gp_seq_req in acceleration's rcu_grace_period tracepoint
rcu: Clarify comments about FQS loop reporting quiescent states
rcu: Make FQS more aggressive in complaining about offline CPUs
rcutorture: Output number of elapsed grace periods
rcu/segcblist: Prevent useless GP start if no CBs to accelerate
Madhuparna Bhowmik (2):
rculist: Introduce list/hlist_for_each_entry_srcu() macros
kvm: mmu: page_track: Fix RCU list API usage
Neeraj Upadhyay (2):
rcu/tree: Force quiescent state on callback overload
rcu/tree: Remove CONFIG_PREMPT_RCU check in force_qs_rnp()
Paul E. McKenney (56):
lib: Add backtrace_idle parameter to force backtrace of idle CPUs
rcu: Remove KCSAN stubs
rcu: Remove KCSAN stubs from update.c
srcu: Remove KCSAN stubs
rcu: Initialize at declaration time in rcu_exp_handler()
nocb: Clarify RCU nocb CPU error message
nocb: Remove show_rcu_nocb_state() false positive printout
rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_divisor
rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_resched_ns
rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_kick_kthreads
rcu: Add READ_ONCE() to rcu_do_batch() access to rcu_cpu_stall_ftrace_dump
rcu: Move rcu_cpu_started per-CPU variable to rcu_data
rcu/nocb: Add a warning for non-GP kthread running GP code
rcu: Remove unused __rcu_is_watching() function
scftorture: Add smp_call_function() torture test
torture: Declare parse-console.sh independence from rcutorture
torture: Add scftorture to the rcutorture scripting
scftorture: Implement weighted primitive selection
tick-sched: Clarify "NOHZ: local_softirq_pending" warning
scftorture: Summarize per-thread statistics
scftorture: Add smp_call_function_single() memory-ordering checks
scftorture: Add smp_call_function_many() memory-ordering checks
scftorture: Add smp_call_function() memory-ordering checks
scftorture: Consolidate scftorture_invoke_one() check and kfree()
scftorture: Consolidate scftorture_invoke_one() scf_check initialization
scftorture: Flag errors in torture-compatible manner
scftorture: Prevent compiler from reducing race probabilities
scftorture: Check unexpected "switch" statement value
scftorture: Block scftorture_invoker() kthreads for offline CPUs
scftorture: Adapt memory-ordering test to UP operation
scftorture: Add cond_resched() to test loop
rcuperf: Change rcuperf to rcuscale
rcu: Add Kconfig option for strict RCU grace periods
rcu: Reduce leaf fanout for strict RCU grace periods
rcu: Restrict default jiffies_till_first_fqs for strict RCU GPs
rcu: Force DEFAULT_RCU_BLIMIT to 1000 for strict RCU GPs
rcu: Always set .need_qs from __rcu_read_lock() for strict GPs
rcu: Do full report for .need_qs for strict GPs
rcu: Attempt QS when CPU discovers GP for strict GPs
rcu: IPI all CPUs at GP start for strict GPs
rcu: IPI all CPUs at GP end for strict GPs
rcu: Provide optional RCU-reader exit delay for strict GPs
rcu: Execute RCU reader shortly after rcu_core for strict GPs
rcu: Report QS for outermost PREEMPT=n rcu_read_unlock() for strict GPs
rcu: Remove unused "cpu" parameter from rcu_report_qs_rdp()
rcutorture: Remove KCSAN stubs
torture: Update initrd documentation
rcutorture: Add CONFIG_PROVE_RCU_LIST to TREE05
torture: Add kvm.sh --help and update help message
rcutorture: Properly set rcu_fwds for OOM handling
rcutorture: Properly synchronize with OOM notifier
rcutorture: Hoist OOM registry up one level
rcutorture: Allow pointer leaks to test diagnostic code
torture: Add gdb support
smp: Add source and destination CPUs to __call_single_data
kernel/smp: Provide CSD lock timeout diagnostics
Paul Gortmaker (1):
torture: document --allcpus argument added to the kvm.sh script
Randy Dunlap (2):
doc: Drop doubled words from RCU Data-Structures.rst
doc: Drop doubled words from RCU requirements documentation
Thomas Gleixner (13):
lib/debug: Remove pointless ARCH_NO_PREEMPT dependencies
preempt: Make preempt count unconditional
preempt: Cleanup PREEMPT_COUNT leftovers
lockdep: Cleanup PREEMPT_COUNT leftovers
mm/pagemap: Cleanup PREEMPT_COUNT leftovers
locking/bitspinlock: Cleanup PREEMPT_COUNT leftovers
uaccess: Cleanup PREEMPT_COUNT leftovers
sched: Cleanup PREEMPT_COUNT leftovers
ARM: Cleanup PREEMPT_COUNT leftovers
xtensa: Cleanup PREEMPT_COUNT leftovers
drm/i915: Cleanup PREEMPT_COUNT leftovers
rcutorture: Cleanup PREEMPT_COUNT leftovers
preempt: Remove PREEMPT_COUNT from Kconfig
Tobias Klauser (2):
docs: Fix typo in synchronize_rcu() function name
rcu: Fix kerneldoc comments in rcupdate.h
Uladzislau Rezki (Sony) (1):
rcu/tree: Allocate a page when caller is preemptible
Wei Yongjun (3):
scftorture: Make symbol 'scf_torture_rand' static
locktorture: Make function torture_percpu_rwsem_init() static
smp: Make symbol 'csd_bug_count' static
Zqiang (1):
rcu: Shrink each possible cpu krcp
kernel test robot (1):
kvfree_rcu(): Fix ifnullfree.cocci warnings
.../RCU/Design/Data-Structures/Data-Structures.rst | 2 +-
.../RCU/Design/Requirements/Requirements.rst | 4 +-
Documentation/RCU/whatisRCU.rst | 2 +-
Documentation/admin-guide/kernel-parameters.txt | 153 +++++-
MAINTAINERS | 3 +-
arch/arm/include/asm/assembler.h | 11 -
arch/arm/kernel/iwmmxt.S | 2 -
arch/arm/mach-ep93xx/crunch-bits.S | 2 -
arch/x86/kvm/mmu/page_track.c | 6 +-
arch/xtensa/kernel/entry.S | 2 +-
drivers/gpu/drm/i915/Kconfig.debug | 1 -
drivers/gpu/drm/i915/i915_utils.h | 3 +-
include/linux/bit_spinlock.h | 4 +-
include/linux/lockdep.h | 6 +-
include/linux/pagemap.h | 4 +-
include/linux/preempt.h | 37 +-
include/linux/rculist.h | 48 ++
include/linux/rcupdate.h | 19 +-
include/linux/rcutiny.h | 1 -
include/linux/rcutree.h | 1 -
include/linux/smp.h | 3 +
include/linux/smp_types.h | 3 +
include/linux/uaccess.h | 6 +-
include/trace/events/rcu.h | 54 +-
kernel/Kconfig.preempt | 4 -
kernel/Makefile | 2 +
kernel/entry/common.c | 2 +-
kernel/locking/locktorture.c | 2 +-
kernel/rcu/Kconfig | 8 +-
kernel/rcu/Kconfig.debug | 17 +-
kernel/rcu/Makefile | 2 +-
kernel/rcu/rcu_segcblist.c | 10 +-
kernel/rcu/{rcuperf.c => rcuscale.c} | 330 ++++++------
kernel/rcu/rcutorture.c | 61 ++-
kernel/rcu/refscale.c | 8 +-
kernel/rcu/srcutree.c | 13 -
kernel/rcu/tree.c | 244 +++++----
kernel/rcu/tree.h | 2 +
kernel/rcu/tree_exp.h | 6 +-
kernel/rcu/tree_plugin.h | 40 +-
kernel/rcu/tree_stall.h | 8 +-
kernel/rcu/update.c | 13 -
kernel/scftorture.c | 575 +++++++++++++++++++++
kernel/sched/core.c | 6 +-
kernel/smp.c | 134 +++++
kernel/time/tick-sched.c | 2 +-
lib/Kconfig.debug | 24 +-
lib/nmi_backtrace.c | 6 +-
...rf-ftrace.sh => kvm-recheck-rcuscale-ftrace.sh} | 6 +-
...-recheck-rcuperf.sh => kvm-recheck-rcuscale.sh} | 14 +-
.../selftests/rcutorture/bin/kvm-recheck-scf.sh | 38 ++
.../selftests/rcutorture/bin/kvm-test-1-run.sh | 33 +-
tools/testing/selftests/rcutorture/bin/kvm.sh | 36 +-
.../selftests/rcutorture/bin/parse-console.sh | 11 +-
.../selftests/rcutorture/configs/rcu/SRCU-t | 1 -
.../selftests/rcutorture/configs/rcu/SRCU-u | 1 -
.../selftests/rcutorture/configs/rcu/TINY01 | 1 -
.../selftests/rcutorture/configs/rcu/TREE05 | 1 +
.../selftests/rcutorture/configs/rcuperf/CFcommon | 2 -
.../configs/{rcuperf => rcuscale}/CFLIST | 0
.../selftests/rcutorture/configs/rcuscale/CFcommon | 2 +
.../rcutorture/configs/{rcuperf => rcuscale}/TINY | 0
.../rcutorture/configs/{rcuperf => rcuscale}/TREE | 0
.../configs/{rcuperf => rcuscale}/TREE54 | 0
.../configs/{rcuperf => rcuscale}/ver_functions.sh | 4 +-
.../selftests/rcutorture/configs/scf/CFLIST | 2 +
.../selftests/rcutorture/configs/scf/CFcommon | 2 +
.../selftests/rcutorture/configs/scf/NOPREEMPT | 9 +
.../rcutorture/configs/scf/NOPREEMPT.boot | 1 +
.../selftests/rcutorture/configs/scf/PREEMPT | 9 +
.../rcutorture/configs/scf/ver_functions.sh | 30 ++
.../testing/selftests/rcutorture/doc/TINY_RCU.txt | 5 +-
.../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 1 -
tools/testing/selftests/rcutorture/doc/initrd.txt | 36 +-
.../selftests/rcutorture/doc/rcu-test-image.txt | 41 +-
.../rcutorture/formal/srcu-cbmc/src/config.h | 1 -
76 files changed, 1626 insertions(+), 557 deletions(-)
rename kernel/rcu/{rcuperf.c => rcuscale.c} (64%)
create mode 100644 kernel/scftorture.c
rename tools/testing/selftests/rcutorture/bin/{kvm-recheck-rcuperf-ftrace.sh => kvm-recheck-rcuscale-ftrace.sh} (92%)
rename tools/testing/selftests/rcutorture/bin/{kvm-recheck-rcuperf.sh => kvm-recheck-rcuscale.sh} (84%)
create mode 100755 tools/testing/selftests/rcutorture/bin/kvm-recheck-scf.sh
delete mode 100644 tools/testing/selftests/rcutorture/configs/rcuperf/CFcommon
rename tools/testing/selftests/rcutorture/configs/{rcuperf => rcuscale}/CFLIST (100%)
create mode 100644 tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon
rename tools/testing/selftests/rcutorture/configs/{rcuperf => rcuscale}/TINY (100%)
rename tools/testing/selftests/rcutorture/configs/{rcuperf => rcuscale}/TREE (100%)
rename tools/testing/selftests/rcutorture/configs/{rcuperf => rcuscale}/TREE54 (100%)
rename tools/testing/selftests/rcutorture/configs/{rcuperf => rcuscale}/ver_functions.sh (88%)
create mode 100644 tools/testing/selftests/rcutorture/configs/scf/CFLIST
create mode 100644 tools/testing/selftests/rcutorture/configs/scf/CFcommon
create mode 100644 tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT
create mode 100644 tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/scf/PREEMPT
create mode 100644 tools/testing/selftests/rcutorture/configs/scf/ver_functions.sh
next reply other threads:[~2020-10-12 14:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-12 14:14 Ingo Molnar [this message]
2020-10-12 20:25 ` [GIT PULL] RCU changes for v5.10 Linus Torvalds
2020-10-12 21:44 ` Paul E. McKenney
2020-10-12 21:59 ` Linus Torvalds
2020-10-12 23:54 ` Paul E. McKenney
2020-10-13 0:14 ` Linus Torvalds
2020-10-13 2:41 ` Paul E. McKenney
2020-10-13 7:32 ` Ingo Molnar
2020-10-13 9:16 ` Thomas Gleixner
2020-10-18 21:39 ` Linus Torvalds
2020-10-19 3:24 ` Paul E. McKenney
2020-10-19 16:51 ` Linus Torvalds
2020-10-19 7:31 ` 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=20201012141451.GA3425471@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@kernel.org \
--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 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.