Kconfig 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. menu "General setup"
  2. config SMP
  3. bool "Multiprocessor support"
  4. default y
  5. ---help---
  6. Enable support for machines with multiple processors.
  7. config MAX_CPUS
  8. int "Maximum number of supported CPUs" if SMP
  9. range 2 512 if SMP
  10. default "1" if !SMP
  11. default "128" if SMP
  12. ---help---
  13. Maximum number of supported processors.
  14. config CLOCK_FREQ
  15. int "Low resolution clock frequency"
  16. range 100 1000
  17. default 200
  18. ---help---
  19. The low resolution clock frequency determines how often low
  20. resolution clocks interrupt processors. These clocks drive
  21. the timer system. Low values increase throughput and latencies,
  22. whereas high values reduce throughput and latencies.
  23. The value must be usable as an integer divisor for 1000, with
  24. no remainder.
  25. Recommended values are 100 for throughput, 1000 for low
  26. latencies, and 200 or 250 for a good balance between throughput
  27. and latencies.
  28. config RCU_WINDOW_CHECK_INTERVAL
  29. int "Interval between RCU window checks"
  30. range 1 100
  31. default 10
  32. ---help---
  33. Time (in milliseconds) between two RCU window checks.
  34. The RCU system keeps memory used by read-side critical sections
  35. until it is safe to release it, which can only be determined when
  36. checking windows. As a result, checking windows more frequently
  37. may help lower latencies on synchronous RCU waits, and in turn,
  38. the amount of memory pending release, at the cost of increased
  39. CPU overhead.
  40. config SHELL
  41. bool "Embedded shell"
  42. default n
  43. ---help---
  44. Enable the embedded shell.
  45. The embedded shell is mostly used for diagnostics.
  46. config THREAD_STACK_GUARD
  47. bool "Thread stack guard pages"
  48. ---help---
  49. Enable the use of guard pages around kernel thread stacks to catch
  50. overflows. Note that this feature wastes precious kernel virtual
  51. memory and has some overhead during thread creation and destruction.
  52. If unsure, disable.
  53. config THREAD_MAX_TSD_KEYS
  54. int "Maximum number of thread-specific data (TSD) keys"
  55. default 0
  56. ---help---
  57. This option is intended for application code embedded in the kernel
  58. which may use TSD. The kernel itself never uses them. A value of 0
  59. completely disables TSD support.
  60. If unsure, set to 0.
  61. config PERFMON
  62. def_bool n
  63. config PERFMON_MAX_PMCS
  64. int "Number of performance monitoring counters"
  65. default 8
  66. depends on PERFMON
  67. ---help---
  68. Number of performance monitoring counters.
  69. This value affects the minimum duration of some critical sections
  70. that run with interrupts disabled.
  71. endmenu
  72. menu "Debugging"
  73. config KMEM_DEBUG
  74. bool "Kernel allocator debugging"
  75. default n
  76. ---help---
  77. Enable the debugging of the kernel allocator.
  78. config KMEM_NO_CPU_LAYER
  79. bool "Disable the CPU layer of the kernel allocator"
  80. depends on SMP
  81. default n
  82. ---help---
  83. The kernel allocator is made up of two layers named
  84. the CPU and slab layers. the CPU layer is responsible
  85. for caching objects locally on a processor to reduce
  86. contention and cache misses. When reporting kernel
  87. memory usage, the CPU layer is ignored, and objects
  88. stored in it are accounted as allocated, which can
  89. cause confusion when checking the state of the system.
  90. This option disables the CPU layer entirely, so that
  91. the report usage stats match the actual allocator
  92. state.
  93. If unsure, disable (leave the CPU layer enabled).
  94. config INIT_DEBUG
  95. bool "Initialization debugging"
  96. default n
  97. ---help---
  98. Enable the debugging of initialization operations.
  99. config MUTEX_DEBUG
  100. bool "Mutex debugging"
  101. default n
  102. ---help---
  103. Enable mutex debugging and instrumentation.
  104. config SPINLOCK_DEBUG
  105. bool "Spinlock debugging"
  106. default n
  107. ---help---
  108. Enable spinlock ownership tracking.
  109. config SREF_DEBUG
  110. bool "Scalable reference counter debugging"
  111. select ASSERT
  112. default n
  113. ---help---
  114. Enable scalable reference counter debugging
  115. endmenu