RCU commits for 4.11
Hello, Ingo,
This pull request contains the following changes:
1. Documentation updates.
http://lkml.kernel.org/r/[email protected]
2. Dyntick updates, consolidating open-coded counter accesses
into a well-defined API. http://lkml.kernel.org/r/[email protected]
3. Miscellaneous fixes.
http://lkml.kernel.org/r/[email protected]
4. SRCU updates: Simplify algorithm, add formal verification.
http://lkml.kernel.org/r/[email protected]
5. Torture-test updates.
http://lkml.kernel.org/r/[email protected]
All of these changes have been subjected to 0day Test Robot and -next testing, and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo
for you to fetch changes up to 31945aa9f14085c81cb3257e51bb210698b78626:
Merge branches 'doc.2017.01.15b', 'dyntick.2017.01.23a', 'fixes.2017.01.23a', 'srcu.2017.01.25a' and 'torture.2017.01.15b' into HEAD (2017-01-25 12:56:05 -0800)
----------------------------------------------------------------
Byungchul Park (1):
rcu: Only dump stalled-tasks stacks if there was a real stall
Joel Fernandes (1):
llist: Clarify comments about when locking is needed
Lance Roy (2):
srcu: Implement more-efficient reader counts
rcutorture: Add CBMC-based formal verification for SRCU
Mathieu Desnoyers (1):
Fix: Disable sys_membarrier when nohz_full is enabled
Matt Fleming (1):
rcu: Enable RCU tracepoints by default to aid in debugging
Paul E. McKenney (33):
rcu: Design documentation for expedited grace periods
doc: Update control-dependencies section of memory-barriers.txt
doc: Quick-Quiz answers are now inline
doc: Add rcutree.rcu_kick_kthreads to kernel-parameters.txt
torture: Add a check for CONFIG_RCU_STALL_COMMON for TINY01
torture: Add CONFIG_PROVE_RCU_REPEATEDLY=y for TINY02
torture: Add tests without slow grace period setup/cleanup
torture: Run at least one test with CONFIG_DEBUG_OBJECTS_RCU_HEAD
torture: Run one test with DEBUG_LOCK_ALLOC but not PROVE_LOCKING
torture: Run a couple scenarios with CONFIG_RCU_EQS_DEBUG
torture: Update RCU test scenario documentation
torture: Enable DEBUG_OBJECTS_RCU_HEAD for Tiny RCU
rcu: Abstract the dynticks momentary-idle operation
rcu: Abstract the dynticks snapshot operation
lockdep: Make RCU suspicious-access splats use pr_err
rcu: Remove unneeded rcu_process_callbacks() declarations
rcu: Add long-term CPU kicking
rcu: Remove short-term CPU kicking
rcu: Once again use NMI-based stack traces in stall warnings
rcu: Re-enable TASKS_RCU for User Mode Linux
rcu: Don't wake rcuc/X kthreads on NOCB CPUs
rcu: Add comment headers to expedited-grace-period counter functions
rcu: Make rcu_cpu_starting() use its "cpu" argument
rcu: Fix comment in rcu_organize_nocb_kthreads()
rcu: Eliminate unused expedited_normal counter
rcu: Add lockdep checks to synchronous expedited primitives
rcu: Abstract dynticks extended quiescent state enter/exit operations
rcu: Abstract extended quiescent state determination
rcu: Check cond_resched_rcu_qs() state less often to reduce GP overhead
rcu: Adjust FQS offline checks for exact online-CPU detection
srcu: Force full grace-period ordering
srcu: Reduce probability of SRCU ->unlock_count[] counter overflow
Merge branches 'doc.2017.01.15b', 'dyntick.2017.01.23a', 'fixes.2017.01.23a', 'srcu.2017.01.25a' and 'torture.2017.01.15b' into HEAD
Sebastian Andrzej Siewior (1):
rcu: update: Make RCU_EXPEDITE_BOOT be the default
Tetsuo Handa (1):
doc: Fix RCU requirements typos
Tobias Klauser (1):
rcu: Remove unused but set variable
Yang Shi (1):
locktorture: Fix potential memory leak with rw lock test
.../Design/Data-Structures/Data-Structures.html | 5 +- .../Design/Expedited-Grace-Periods/ExpRCUFlow.svg | 830 +++++++++++++++++++++ .../Expedited-Grace-Periods/ExpSchedFlow.svg | 826 ++++++++++++++++++++ .../Expedited-Grace-Periods.html | 626 ++++++++++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel0.svg | 275 +++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel1.svg | 275 +++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel2.svg | 287 +++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel3.svg | 323 ++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel4.svg | 323 ++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel5.svg | 335 +++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel6.svg | 335 +++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel7.svg | 347 +++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel8.svg | 311 ++++++++ .../RCU/Design/Requirements/Requirements.html | 12 +- Documentation/RCU/trace.txt | 5 +- Documentation/admin-guide/kernel-parameters.txt | 7 + Documentation/memory-barriers.txt | 70 +- include/linux/llist.h | 37 +- include/linux/rcupdate.h | 12 + include/linux/rcutiny.h | 6 + include/linux/srcu.h | 10 +- include/trace/events/rcu.h | 10 +- init/Kconfig | 14 - kernel/locking/lockdep.c | 12 +- kernel/locking/locktorture.c | 6 + kernel/membarrier.c | 4 + kernel/rcu/rcutorture.c | 19 +- kernel/rcu/srcu.c | 143 ++-- kernel/rcu/tiny.c | 2 - kernel/rcu/tree.c | 262 ++++--- kernel/rcu/tree.h | 15 +- kernel/rcu/tree_exp.h | 38 +- kernel/rcu/tree_plugin.h | 7 +- kernel/rcu/tree_trace.c | 5 +- kernel/rcu/update.c | 6 +- lib/Kconfig.debug | 1 + .../selftests/rcutorture/configs/rcu/CFcommon | 3 - .../selftests/rcutorture/configs/rcu/TINY01 | 1 + .../selftests/rcutorture/configs/rcu/TINY02 | 3 +- .../selftests/rcutorture/configs/rcu/TREE01 | 3 + .../selftests/rcutorture/configs/rcu/TREE02 | 4 + .../selftests/rcutorture/configs/rcu/TREE03 | 3 + .../selftests/rcutorture/configs/rcu/TREE04 | 4 + .../selftests/rcutorture/configs/rcu/TREE05 | 3 + .../selftests/rcutorture/configs/rcu/TREE06 | 3 + .../selftests/rcutorture/configs/rcu/TREE07 | 3 + .../selftests/rcutorture/configs/rcu/TREE08 | 4 +- .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 33 +- .../rcutorture/formal/srcu-cbmc/.gitignore | 1 + .../selftests/rcutorture/formal/srcu-cbmc/Makefile | 16 + .../formal/srcu-cbmc/empty_includes/linux/delay.h | 0 .../formal/srcu-cbmc/empty_includes/linux/export.h | 0 .../formal/srcu-cbmc/empty_includes/linux/mutex.h | 0 .../formal/srcu-cbmc/empty_includes/linux/percpu.h | 0 .../srcu-cbmc/empty_includes/linux/preempt.h | 0 .../srcu-cbmc/empty_includes/linux/rcupdate.h | 0 .../formal/srcu-cbmc/empty_includes/linux/sched.h | 0 .../formal/srcu-cbmc/empty_includes/linux/smp.h | 0 .../srcu-cbmc/empty_includes/linux/workqueue.h | 0 .../srcu-cbmc/empty_includes/uapi/linux/types.h | 0 .../formal/srcu-cbmc/include/linux/.gitignore | 1 + .../formal/srcu-cbmc/include/linux/kconfig.h | 1 + .../formal/srcu-cbmc/include/linux/types.h | 155 ++++ .../rcutorture/formal/srcu-cbmc/modify_srcu.awk | 375 ++++++++++ .../rcutorture/formal/srcu-cbmc/src/assume.h | 16 + .../rcutorture/formal/srcu-cbmc/src/barriers.h | 41 + .../rcutorture/formal/srcu-cbmc/src/bug_on.h | 13 + .../formal/srcu-cbmc/src/combined_source.c | 13 + .../rcutorture/formal/srcu-cbmc/src/config.h | 27 + .../rcutorture/formal/srcu-cbmc/src/include_srcu.c | 31 + .../rcutorture/formal/srcu-cbmc/src/int_typedefs.h | 33 + .../rcutorture/formal/srcu-cbmc/src/locks.h | 220 ++++++ .../rcutorture/formal/srcu-cbmc/src/misc.c | 11 + .../rcutorture/formal/srcu-cbmc/src/misc.h | 58 ++ .../rcutorture/formal/srcu-cbmc/src/percpu.h | 92 +++ .../rcutorture/formal/srcu-cbmc/src/preempt.c | 78 ++ .../rcutorture/formal/srcu-cbmc/src/preempt.h | 58 ++ .../formal/srcu-cbmc/src/simple_sync_srcu.c | 50 ++ .../rcutorture/formal/srcu-cbmc/src/workqueues.h | 102 +++ .../srcu-cbmc/tests/store_buffering/.gitignore | 1 + .../srcu-cbmc/tests/store_buffering/Makefile | 11 + .../tests/store_buffering/assert_end.fail | 1 + .../srcu-cbmc/tests/store_buffering/force.fail | 1 + .../srcu-cbmc/tests/store_buffering/force2.fail | 1 + .../srcu-cbmc/tests/store_buffering/force3.fail | 1 + .../srcu-cbmc/tests/store_buffering/main.pass | 0 .../formal/srcu-cbmc/tests/store_buffering/test.c | 72 ++ .../formal/srcu-cbmc/tests/test_script.sh | 102 +++ 88 files changed, 7150 insertions(+), 300 deletions(-) create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Expedited-Grace-Periods.html create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/.gitignore create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/Makefile create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/delay.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/export.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/mutex.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/percpu.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/preempt.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/rcupdate.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/sched.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/smp.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/workqueue.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/uapi/linux/types.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/.gitignore create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/kconfig.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/types.h create mode 100755 tools/testing/selftests/rcutorture/formal/srcu-cbmc/modify_srcu.awk create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/assume.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/barriers.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/bug_on.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/combined_source.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/config.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/include_srcu.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/int_typedefs.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/locks.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/misc.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/misc.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/percpu.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/preempt.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/preempt.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/simple_sync_srcu.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/workqueues.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/.gitignore create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/Makefile create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/assert_end.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force2.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force3.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/main.pass create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/test.c create mode 100755 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/test_script.sh
Quoted 231 lines · Paul E. McKenney
Hello, Ingo,
This pull request contains the following changes:
1. Documentation updates.
http://lkml.kernel.org/r/[email protected]2. Dyntick updates, consolidating open-coded counter accesses
into a well-defined API. http://lkml.kernel.org/r/[email protected]3. Miscellaneous fixes.
http://lkml.kernel.org/r/[email protected]4. SRCU updates: Simplify algorithm, add formal verification.
http://lkml.kernel.org/r/[email protected]5. Torture-test updates.
http://lkml.kernel.org/r/[email protected]All of these changes have been subjected to 0day Test Robot and -next testing, and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.gitfor-mingofor you to fetch changes up to
31945aa9f14085c81cb3257e51bb210698b78626:Merge branches 'doc.2017.01.15b', 'dyntick.2017.01.23a', 'fixes.2017.01.23a', 'srcu.2017.01.25a' and 'torture.2017.01.15b' into HEAD (2017-01-25 12:56:05 -0800)
----------------------------------------------------------------
Byungchul Park (1):
rcu: Only dump stalled-tasks stacks if there was a real stallJoel Fernandes (1):
llist: Clarify comments about when locking is neededLance Roy (2):
srcu: Implement more-efficient reader counts
rcutorture: Add CBMC-based formal verification for SRCUMathieu Desnoyers (1):
Fix: Disablesys_membarrierwhennohz_fullis enabledMatt Fleming (1):
rcu: Enable RCU tracepoints by default to aid in debuggingPaul E. McKenney (33):
rcu: Design documentation for expedited grace periods
doc: Update control-dependencies section of memory-barriers.txt
doc: Quick-Quiz answers are now inline
doc: Add rcutree.rcu_kick_kthreads to kernel-parameters.txt
torture: Add a check forCONFIG_RCU_STALL_COMMONfor TINY01
torture: AddCONFIG_PROVE_RCU_REPEATEDLY=yfor TINY02
torture: Add tests without slow grace period setup/cleanup
torture: Run at least one test withCONFIG_DEBUG_OBJECTS_RCU_HEAD
torture: Run one test withDEBUG_LOCK_ALLOCbut notPROVE_LOCKING
torture: Run a couple scenarios withCONFIG_RCU_EQS_DEBUG
torture: Update RCU test scenario documentation
torture: EnableDEBUG_OBJECTS_RCU_HEADfor Tiny RCU
rcu: Abstract the dynticks momentary-idle operation
rcu: Abstract the dynticks snapshot operation
lockdep: Make RCU suspicious-access splats usepr_err
rcu: Remove unneededrcu_process_callbacks()declarations
rcu: Add long-term CPU kicking
rcu: Remove short-term CPU kicking
rcu: Once again use NMI-based stack traces in stall warnings
rcu: Re-enableTASKS_RCUfor User Mode Linux
rcu: Don't wake rcuc/X kthreads on NOCB CPUs
rcu: Add comment headers to expedited-grace-period counter functions
rcu: Makercu_cpu_starting()use its "cpu" argument
rcu: Fix comment inrcu_organize_nocb_kthreads()
rcu: Eliminate unusedexpedited_normalcounter
rcu: Add lockdep checks to synchronous expedited primitives
rcu: Abstract dynticks extended quiescent state enter/exit operations
rcu: Abstract extended quiescent state determination
rcu: Checkcond_resched_rcu_qs()state less often to reduce GP overhead
rcu: Adjust FQS offline checks for exact online-CPU detection
srcu: Force full grace-period ordering
srcu: Reduce probability of SRCU ->unlock_count[] counter overflow
Merge branches 'doc.2017.01.15b', 'dyntick.2017.01.23a', 'fixes.2017.01.23a', 'srcu.2017.01.25a' and 'torture.2017.01.15b' into HEADSebastian Andrzej Siewior (1):
rcu: update: MakeRCU_EXPEDITE_BOOTbe the defaultTetsuo Handa (1):
doc: Fix RCU requirements typosTobias Klauser (1):
rcu: Remove unused but set variableYang Shi (1):
locktorture: Fix potential memory leak with rw lock test.../Design/Data-Structures/Data-Structures.html | 5 +- .../Design/Expedited-Grace-Periods/ExpRCUFlow.svg | 830 +++++++++++++++++++++ .../Expedited-Grace-Periods/ExpSchedFlow.svg | 826 ++++++++++++++++++++ .../Expedited-Grace-Periods.html | 626 ++++++++++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel0.svg | 275 +++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel1.svg | 275 +++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel2.svg | 287 +++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel3.svg | 323 ++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel4.svg | 323 ++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel5.svg | 335 +++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel6.svg | 335 +++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel7.svg | 347 +++++++++ .../RCU/Design/Expedited-Grace-Periods/Funnel8.svg | 311 ++++++++ .../RCU/Design/Requirements/Requirements.html | 12 +- Documentation/RCU/trace.txt | 5 +- Documentation/admin-guide/kernel-parameters.txt | 7 + Documentation/memory-barriers.txt | 70 +- include/linux/llist.h | 37 +- include/linux/rcupdate.h | 12 + include/linux/rcutiny.h | 6 + include/linux/srcu.h | 10 +- include/trace/events/rcu.h | 10 +- init/Kconfig | 14 - kernel/locking/lockdep.c | 12 +- kernel/locking/locktorture.c | 6 + kernel/membarrier.c | 4 + kernel/rcu/rcutorture.c | 19 +- kernel/rcu/srcu.c | 143 ++-- kernel/rcu/tiny.c | 2 - kernel/rcu/tree.c | 262 ++++--- kernel/rcu/tree.h | 15 +- kernel/rcu/tree_exp.h | 38 +- kernel/rcu/tree_plugin.h | 7 +- kernel/rcu/tree_trace.c | 5 +- kernel/rcu/update.c | 6 +- lib/Kconfig.debug | 1 + .../selftests/rcutorture/configs/rcu/CFcommon | 3 - .../selftests/rcutorture/configs/rcu/TINY01 | 1 + .../selftests/rcutorture/configs/rcu/TINY02 | 3 +- .../selftests/rcutorture/configs/rcu/TREE01 | 3 + .../selftests/rcutorture/configs/rcu/TREE02 | 4 + .../selftests/rcutorture/configs/rcu/TREE03 | 3 + .../selftests/rcutorture/configs/rcu/TREE04 | 4 + .../selftests/rcutorture/configs/rcu/TREE05 | 3 + .../selftests/rcutorture/configs/rcu/TREE06 | 3 + .../selftests/rcutorture/configs/rcu/TREE07 | 3 + .../selftests/rcutorture/configs/rcu/TREE08 | 4 +- .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 33 +- .../rcutorture/formal/srcu-cbmc/.gitignore | 1 + .../selftests/rcutorture/formal/srcu-cbmc/Makefile | 16 + .../formal/srcu-cbmc/empty_includes/linux/delay.h | 0 .../formal/srcu-cbmc/empty_includes/linux/export.h | 0 .../formal/srcu-cbmc/empty_includes/linux/mutex.h | 0 .../formal/srcu-cbmc/empty_includes/linux/percpu.h | 0 .../srcu-cbmc/empty_includes/linux/preempt.h | 0 .../srcu-cbmc/empty_includes/linux/rcupdate.h | 0 .../formal/srcu-cbmc/empty_includes/linux/sched.h | 0 .../formal/srcu-cbmc/empty_includes/linux/smp.h | 0 .../srcu-cbmc/empty_includes/linux/workqueue.h | 0 .../srcu-cbmc/empty_includes/uapi/linux/types.h | 0 .../formal/srcu-cbmc/include/linux/.gitignore | 1 + .../formal/srcu-cbmc/include/linux/kconfig.h | 1 + .../formal/srcu-cbmc/include/linux/types.h | 155 ++++ .../rcutorture/formal/srcu-cbmc/modify_srcu.awk | 375 ++++++++++ .../rcutorture/formal/srcu-cbmc/src/assume.h | 16 + .../rcutorture/formal/srcu-cbmc/src/barriers.h | 41 + .../rcutorture/formal/srcu-cbmc/src/bug_on.h | 13 + .../formal/srcu-cbmc/src/combined_source.c | 13 + .../rcutorture/formal/srcu-cbmc/src/config.h | 27 + .../rcutorture/formal/srcu-cbmc/src/include_srcu.c | 31 + .../rcutorture/formal/srcu-cbmc/src/int_typedefs.h | 33 + .../rcutorture/formal/srcu-cbmc/src/locks.h | 220 ++++++ .../rcutorture/formal/srcu-cbmc/src/misc.c | 11 + .../rcutorture/formal/srcu-cbmc/src/misc.h | 58 ++ .../rcutorture/formal/srcu-cbmc/src/percpu.h | 92 +++ .../rcutorture/formal/srcu-cbmc/src/preempt.c | 78 ++ .../rcutorture/formal/srcu-cbmc/src/preempt.h | 58 ++ .../formal/srcu-cbmc/src/simple_sync_srcu.c | 50 ++ .../rcutorture/formal/srcu-cbmc/src/workqueues.h | 102 +++ .../srcu-cbmc/tests/store_buffering/.gitignore | 1 + .../srcu-cbmc/tests/store_buffering/Makefile | 11 + .../tests/store_buffering/assert_end.fail | 1 + .../srcu-cbmc/tests/store_buffering/force.fail | 1 + .../srcu-cbmc/tests/store_buffering/force2.fail | 1 + .../srcu-cbmc/tests/store_buffering/force3.fail | 1 + .../srcu-cbmc/tests/store_buffering/main.pass | 0 .../formal/srcu-cbmc/tests/store_buffering/test.c | 72 ++ .../formal/srcu-cbmc/tests/test_script.sh | 102 +++ 88 files changed, 7150 insertions(+), 300 deletions(-) create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/ExpRCUFlow.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/ExpSchedFlow.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Expedited-Grace-Periods.html create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel1.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel2.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel3.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel4.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel5.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel6.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel7.svg create mode 100644 Documentation/RCU/Design/Expedited-Grace-Periods/Funnel8.svg create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/.gitignore create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/Makefile create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/delay.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/export.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/mutex.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/percpu.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/preempt.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/rcupdate.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/sched.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/smp.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux/workqueue.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/uapi/linux/types.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/.gitignore create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/kconfig.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/types.h create mode 100755 tools/testing/selftests/rcutorture/formal/srcu-cbmc/modify_srcu.awk create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/assume.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/barriers.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/bug_on.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/combined_source.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/config.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/include_srcu.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/int_typedefs.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/locks.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/misc.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/misc.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/percpu.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/preempt.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/preempt.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/simple_sync_srcu.c create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/workqueues.h create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/.gitignore
Quoted 8 lines
create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/Makefile create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/assert_end.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force2.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/force3.fail create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/main.pass create mode 100644 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering/test.c create mode 100755 tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/test_script.sh
Pulled into tip:core/rcu, thanks a lot Paul!
Ingo