diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-21 22:26:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-21 22:26:51 -0400 |
commit | 226da0dbc84ed97f448523e2a4cb91c27fa68ed9 (patch) | |
tree | 3969a9f612cd5596747ecde2066e65eacbab7d2e /Documentation/kernel-parameters.txt | |
parent | 5ec29e3149d800e6db83c1b6ff441daf319cbbe2 (diff) | |
parent | 2d84e023cb5ec00403ff5d447533c6fd58fcc7ff (diff) |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU changes from Ingo Molnar:
"This is the v3.5 RCU tree from Paul E. McKenney:
1) A set of improvements and fixes to the RCU_FAST_NO_HZ feature (with
more on the way for 3.6). Posted to LKML:
https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),
https://lkml.org/lkml/2012/4/16/611 (commit 4),
https://lkml.org/lkml/2012/4/30/390 (commit 6), and
https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with
the other commits for the convenience of the tester).
2) Changes to make rcu_barrier() avoid disrupting execution of CPUs
that have no RCU callbacks. Posted to LKML:
https://lkml.org/lkml/2012/4/23/322.
3) A couple of commits that improve the efficiency of the interaction
between preemptible RCU and the scheduler, these two being all that
survived an abortive attempt to allow preemptible RCU's
__rcu_read_lock() to be inlined. The full set was posted to LKML at
https://lkml.org/lkml/2012/4/14/143, and the first and third patches
of that set remain.
4) Lai Jiangshan's algorithmic implementation of SRCU, which includes
call_srcu() and srcu_barrier(). A major feature of this new
implementation is that synchronize_srcu() no longer disturbs the
execution of other CPUs. This work is based on earlier
implementations by Peter Zijlstra and Paul E. McKenney. Posted to
LKML: https://lkml.org/lkml/2012/2/22/82.
5) A number of miscellaneous bug fixes and improvements which were
posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with
subsequent updates posted to LKML."
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
rcu: Make rcu_barrier() less disruptive
rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables
rcu: Make RCU_FAST_NO_HZ handle timer migration
rcu: Update RCU maintainership
rcu: Make exit_rcu() more precise and consolidate
rcu: Move PREEMPT_RCU preemption to switch_to() invocation
rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU
rcu: Add rcutorture test for call_srcu()
rcu: Implement per-domain single-threaded call_srcu() state machine
rcu: Use single value to handle expedited SRCU grace periods
rcu: Improve srcu_readers_active_idx()'s cache locality
rcu: Remove unused srcu_barrier()
rcu: Implement a variant of Peter's SRCU algorithm
rcu: Improve SRCU's wait_idx() comments
rcu: Flip ->completed only once per SRCU grace period
rcu: Increment upper bit only for srcu_read_lock()
rcu: Remove fast check path from __synchronize_srcu()
rcu: Direct algorithmic SRCU implementation
rcu: Introduce rcutorture testing for rcu_barrier()
timer: Fix mod_timer_pinned() header comment
...
Diffstat (limited to 'Documentation/kernel-parameters.txt')
-rw-r--r-- | Documentation/kernel-parameters.txt | 88 |
1 files changed, 85 insertions, 3 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index f995195409fd..0e90453e4acb 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -2333,18 +2333,100 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
2333 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes | 2333 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes |
2334 | See Documentation/blockdev/ramdisk.txt. | 2334 | See Documentation/blockdev/ramdisk.txt. |
2335 | 2335 | ||
2336 | rcupdate.blimit= [KNL,BOOT] | 2336 | rcutree.blimit= [KNL,BOOT] |
2337 | Set maximum number of finished RCU callbacks to process | 2337 | Set maximum number of finished RCU callbacks to process |
2338 | in one batch. | 2338 | in one batch. |
2339 | 2339 | ||
2340 | rcupdate.qhimark= [KNL,BOOT] | 2340 | rcutree.qhimark= [KNL,BOOT] |
2341 | Set threshold of queued | 2341 | Set threshold of queued |
2342 | RCU callbacks over which batch limiting is disabled. | 2342 | RCU callbacks over which batch limiting is disabled. |
2343 | 2343 | ||
2344 | rcupdate.qlowmark= [KNL,BOOT] | 2344 | rcutree.qlowmark= [KNL,BOOT] |
2345 | Set threshold of queued RCU callbacks below which | 2345 | Set threshold of queued RCU callbacks below which |
2346 | batch limiting is re-enabled. | 2346 | batch limiting is re-enabled. |
2347 | 2347 | ||
2348 | rcutree.rcu_cpu_stall_suppress= [KNL,BOOT] | ||
2349 | Suppress RCU CPU stall warning messages. | ||
2350 | |||
2351 | rcutree.rcu_cpu_stall_timeout= [KNL,BOOT] | ||
2352 | Set timeout for RCU CPU stall warning messages. | ||
2353 | |||
2354 | rcutorture.fqs_duration= [KNL,BOOT] | ||
2355 | Set duration of force_quiescent_state bursts. | ||
2356 | |||
2357 | rcutorture.fqs_holdoff= [KNL,BOOT] | ||
2358 | Set holdoff time within force_quiescent_state bursts. | ||
2359 | |||
2360 | rcutorture.fqs_stutter= [KNL,BOOT] | ||
2361 | Set wait time between force_quiescent_state bursts. | ||
2362 | |||
2363 | rcutorture.irqreader= [KNL,BOOT] | ||
2364 | Test RCU readers from irq handlers. | ||
2365 | |||
2366 | rcutorture.n_barrier_cbs= [KNL,BOOT] | ||
2367 | Set callbacks/threads for rcu_barrier() testing. | ||
2368 | |||
2369 | rcutorture.nfakewriters= [KNL,BOOT] | ||
2370 | Set number of concurrent RCU writers. These just | ||
2371 | stress RCU, they don't participate in the actual | ||
2372 | test, hence the "fake". | ||
2373 | |||
2374 | rcutorture.nreaders= [KNL,BOOT] | ||
2375 | Set number of RCU readers. | ||
2376 | |||
2377 | rcutorture.onoff_holdoff= [KNL,BOOT] | ||
2378 | Set time (s) after boot for CPU-hotplug testing. | ||
2379 | |||
2380 | rcutorture.onoff_interval= [KNL,BOOT] | ||
2381 | Set time (s) between CPU-hotplug operations, or | ||
2382 | zero to disable CPU-hotplug testing. | ||
2383 | |||
2384 | rcutorture.shuffle_interval= [KNL,BOOT] | ||
2385 | Set task-shuffle interval (s). Shuffling tasks | ||
2386 | allows some CPUs to go into dyntick-idle mode | ||
2387 | during the rcutorture test. | ||
2388 | |||
2389 | rcutorture.shutdown_secs= [KNL,BOOT] | ||
2390 | Set time (s) after boot system shutdown. This | ||
2391 | is useful for hands-off automated testing. | ||
2392 | |||
2393 | rcutorture.stall_cpu= [KNL,BOOT] | ||
2394 | Duration of CPU stall (s) to test RCU CPU stall | ||
2395 | warnings, zero to disable. | ||
2396 | |||
2397 | rcutorture.stall_cpu_holdoff= [KNL,BOOT] | ||
2398 | Time to wait (s) after boot before inducing stall. | ||
2399 | |||
2400 | rcutorture.stat_interval= [KNL,BOOT] | ||
2401 | Time (s) between statistics printk()s. | ||
2402 | |||
2403 | rcutorture.stutter= [KNL,BOOT] | ||
2404 | Time (s) to stutter testing, for example, specifying | ||
2405 | five seconds causes the test to run for five seconds, | ||
2406 | wait for five seconds, and so on. This tests RCU's | ||
2407 | ability to transition abruptly to and from idle. | ||
2408 | |||
2409 | rcutorture.test_boost= [KNL,BOOT] | ||
2410 | Test RCU priority boosting? 0=no, 1=maybe, 2=yes. | ||
2411 | "Maybe" means test if the RCU implementation | ||
2412 | under test support RCU priority boosting. | ||
2413 | |||
2414 | rcutorture.test_boost_duration= [KNL,BOOT] | ||
2415 | Duration (s) of each individual boost test. | ||
2416 | |||
2417 | rcutorture.test_boost_interval= [KNL,BOOT] | ||
2418 | Interval (s) between each boost test. | ||
2419 | |||
2420 | rcutorture.test_no_idle_hz= [KNL,BOOT] | ||
2421 | Test RCU's dyntick-idle handling. See also the | ||
2422 | rcutorture.shuffle_interval parameter. | ||
2423 | |||
2424 | rcutorture.torture_type= [KNL,BOOT] | ||
2425 | Specify the RCU implementation to test. | ||
2426 | |||
2427 | rcutorture.verbose= [KNL,BOOT] | ||
2428 | Enable additional printk() statements. | ||
2429 | |||
2348 | rdinit= [KNL] | 2430 | rdinit= [KNL] |
2349 | Format: <full_path> | 2431 | Format: <full_path> |
2350 | Run specified binary instead of /init from the ramdisk, | 2432 | Run specified binary instead of /init from the ramdisk, |