Kconfig (e981b060767b3c4ac9393ad8d2558d648e35dfcb) Kconfig (a57eb940d130477a799dfb24a570ee04979c0f7f)
1config ARCH
2 string
3 option env="ARCH"
4
5config KERNELVERSION
6 string
7 option env="KERNELVERSION"
8

--- 326 unchanged lines hidden (view full) ---

335menu "RCU Subsystem"
336
337choice
338 prompt "RCU Implementation"
339 default TREE_RCU
340
341config TREE_RCU
342 bool "Tree-based hierarchical RCU"
1config ARCH
2 string
3 option env="ARCH"
4
5config KERNELVERSION
6 string
7 option env="KERNELVERSION"
8

--- 326 unchanged lines hidden (view full) ---

335menu "RCU Subsystem"
336
337choice
338 prompt "RCU Implementation"
339 default TREE_RCU
340
341config TREE_RCU
342 bool "Tree-based hierarchical RCU"
343 depends on !PREEMPT && SMP
343 help
344 This option selects the RCU implementation that is
345 designed for very large SMP system with hundreds or
346 thousands of CPUs. It also scales down nicely to
347 smaller systems.
348
349config TREE_PREEMPT_RCU
344 help
345 This option selects the RCU implementation that is
346 designed for very large SMP system with hundreds or
347 thousands of CPUs. It also scales down nicely to
348 smaller systems.
349
350config TREE_PREEMPT_RCU
350 bool "Preemptable tree-based hierarchical RCU"
351 bool "Preemptible tree-based hierarchical RCU"
351 depends on PREEMPT
352 help
353 This option selects the RCU implementation that is
354 designed for very large SMP systems with hundreds or
355 thousands of CPUs, but for which real-time response
356 is also required. It also scales down nicely to
357 smaller systems.
358
359config TINY_RCU
360 bool "UP-only small-memory-footprint RCU"
361 depends on !SMP
362 help
363 This option selects the RCU implementation that is
364 designed for UP systems from which real-time response
365 is not required. This option greatly reduces the
366 memory footprint of RCU.
367
352 depends on PREEMPT
353 help
354 This option selects the RCU implementation that is
355 designed for very large SMP systems with hundreds or
356 thousands of CPUs, but for which real-time response
357 is also required. It also scales down nicely to
358 smaller systems.
359
360config TINY_RCU
361 bool "UP-only small-memory-footprint RCU"
362 depends on !SMP
363 help
364 This option selects the RCU implementation that is
365 designed for UP systems from which real-time response
366 is not required. This option greatly reduces the
367 memory footprint of RCU.
368
369config TINY_PREEMPT_RCU
370 bool "Preemptible UP-only small-memory-footprint RCU"
371 depends on !SMP && PREEMPT
372 help
373 This option selects the RCU implementation that is designed
374 for real-time UP systems. This option greatly reduces the
375 memory footprint of RCU.
376
368endchoice
369
377endchoice
378
379config PREEMPT_RCU
380 def_bool ( TREE_PREEMPT_RCU || TINY_PREEMPT_RCU )
381 help
382 This option enables preemptible-RCU code that is common between
383 the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
384
370config RCU_TRACE
371 bool "Enable tracing for RCU"
372 depends on TREE_RCU || TREE_PREEMPT_RCU
373 help
374 This option provides tracing in RCU which presents stats
375 in debugfs for debugging RCU implementation.
376
377 Say Y here if you want to enable RCU tracing

--- 4 unchanged lines hidden (view full) ---

382 range 2 64 if 64BIT
383 range 2 32 if !64BIT
384 depends on TREE_RCU || TREE_PREEMPT_RCU
385 default 64 if 64BIT
386 default 32 if !64BIT
387 help
388 This option controls the fanout of hierarchical implementations
389 of RCU, allowing RCU to work efficiently on machines with
385config RCU_TRACE
386 bool "Enable tracing for RCU"
387 depends on TREE_RCU || TREE_PREEMPT_RCU
388 help
389 This option provides tracing in RCU which presents stats
390 in debugfs for debugging RCU implementation.
391
392 Say Y here if you want to enable RCU tracing

--- 4 unchanged lines hidden (view full) ---

397 range 2 64 if 64BIT
398 range 2 32 if !64BIT
399 depends on TREE_RCU || TREE_PREEMPT_RCU
400 default 64 if 64BIT
401 default 32 if !64BIT
402 help
403 This option controls the fanout of hierarchical implementations
404 of RCU, allowing RCU to work efficiently on machines with
390 large numbers of CPUs. This value must be at least the cube
391 root of NR_CPUS, which allows NR_CPUS up to 32,768 for 32-bit
392 systems and up to 262,144 for 64-bit systems.
405 large numbers of CPUs. This value must be at least the fourth
406 root of NR_CPUS, which allows NR_CPUS to be insanely large.
407 The default value of RCU_FANOUT should be used for production
408 systems, but if you are stress-testing the RCU implementation
409 itself, small RCU_FANOUT values allow you to test large-system
410 code paths on small(er) systems.
393
394 Select a specific number if testing RCU itself.
395 Take the default if unsure.
396
397config RCU_FANOUT_EXACT
398 bool "Disable tree-based hierarchical RCU auto-balancing"
399 depends on TREE_RCU || TREE_PREEMPT_RCU
400 default n

--- 866 unchanged lines hidden ---
411
412 Select a specific number if testing RCU itself.
413 Take the default if unsure.
414
415config RCU_FANOUT_EXACT
416 bool "Disable tree-based hierarchical RCU auto-balancing"
417 depends on TREE_RCU || TREE_PREEMPT_RCU
418 default n

--- 866 unchanged lines hidden ---