~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/init/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /init/Kconfig (Version linux-6.12-rc7) and /init/Kconfig (Version linux-2.6.0)


  1 # SPDX-License-Identifier: GPL-2.0-only        << 
  2 config CC_VERSION_TEXT                         << 
  3         string                                 << 
  4         default "$(CC_VERSION_TEXT)"           << 
  5         help                                   << 
  6           This is used in unclear ways:        << 
  7                                                << 
  8           - Re-run Kconfig when the compiler i << 
  9             The 'default' property references  << 
 10             CC_VERSION_TEXT so it is recorded  << 
 11             When the compiler is updated, Kcon << 
 12                                                << 
 13           - Ensure full rebuild when the compi << 
 14             include/linux/compiler-version.h c << 
 15             line so fixdep adds include/config << 
 16             auto-generated dependency. When th << 
 17             will touch it and then every file  << 
 18                                                << 
 19 config CC_IS_GCC                               << 
 20         def_bool $(success,test "$(cc-name)" = << 
 21                                                << 
 22 config GCC_VERSION                             << 
 23         int                                    << 
 24         default $(cc-version) if CC_IS_GCC     << 
 25         default 0                              << 
 26                                                << 
 27 config CC_IS_CLANG                             << 
 28         def_bool $(success,test "$(cc-name)" = << 
 29                                                << 
 30 config CLANG_VERSION                           << 
 31         int                                    << 
 32         default $(cc-version) if CC_IS_CLANG   << 
 33         default 0                              << 
 34                                                << 
 35 config AS_IS_GNU                               << 
 36         def_bool $(success,test "$(as-name)" = << 
 37                                                << 
 38 config AS_IS_LLVM                              << 
 39         def_bool $(success,test "$(as-name)" = << 
 40                                                << 
 41 config AS_VERSION                              << 
 42         int                                    << 
 43         # Use clang version if this is the int << 
 44         default CLANG_VERSION if AS_IS_LLVM    << 
 45         default $(as-version)                  << 
 46                                                << 
 47 config LD_IS_BFD                               << 
 48         def_bool $(success,test "$(ld-name)" = << 
 49                                                << 
 50 config LD_VERSION                              << 
 51         int                                    << 
 52         default $(ld-version) if LD_IS_BFD     << 
 53         default 0                              << 
 54                                                << 
 55 config LD_IS_LLD                               << 
 56         def_bool $(success,test "$(ld-name)" = << 
 57                                                << 
 58 config LLD_VERSION                             << 
 59         int                                    << 
 60         default $(ld-version) if LD_IS_LLD     << 
 61         default 0                              << 
 62                                                << 
 63 config RUSTC_VERSION                           << 
 64         int                                    << 
 65         default $(rustc-version)               << 
 66         help                                   << 
 67           It does not depend on `RUST` since t << 
 68           in a `depends on`.                   << 
 69                                                << 
 70 config RUST_IS_AVAILABLE                       << 
 71         def_bool $(success,$(srctree)/scripts/ << 
 72         help                                   << 
 73           This shows whether a suitable Rust t << 
 74                                                << 
 75           Please see Documentation/rust/quick- << 
 76           to satisfy the build requirements of << 
 77                                                     1 
 78           In particular, the Makefile target ' !!   2 menu "Code maturity level options"
 79           why the Rust toolchain is not being  << 
 80                                                     3 
 81 config RUSTC_LLVM_VERSION                      !!   4 config EXPERIMENTAL
 82         int                                    !!   5         bool "Prompt for development and/or incomplete code/drivers"
 83         default $(rustc-llvm-version)          !!   6         ---help---
                                                   >>   7           Some of the various things that Linux supports (such as network
                                                   >>   8           drivers, file systems, network protocols, etc.) can be in a state
                                                   >>   9           of development where the functionality, stability, or the level of
                                                   >>  10           testing is not yet high enough for general use. This is usually
                                                   >>  11           known as the "alpha-test" phase among developers. If a feature is
                                                   >>  12           currently in alpha-test, then the developers usually discourage
                                                   >>  13           uninformed widespread use of this feature by the general public to
                                                   >>  14           avoid "Why doesn't this work?" type mail messages. However, active
                                                   >>  15           testing and use of these systems is welcomed. Just be aware that it
                                                   >>  16           may not meet the normal level of reliability or it may fail to work
                                                   >>  17           in some special cases. Detailed bug reports from people familiar
                                                   >>  18           with the kernel internals are usually welcomed by the developers
                                                   >>  19           (before submitting bug reports, please read the documents
                                                   >>  20           <file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
                                                   >>  21           <file:Documentation/BUG-HUNTING>, and
                                                   >>  22           <file:Documentation/oops-tracing.txt> in the kernel source).
                                                   >>  23 
                                                   >>  24           This option will also make obsoleted drivers available. These are
                                                   >>  25           drivers that have been replaced by something else, and/or are
                                                   >>  26           scheduled to be removed in a future kernel release.
                                                   >>  27 
                                                   >>  28           Unless you intend to help test and develop a feature or driver that
                                                   >>  29           falls into this category, or you have a situation that requires
                                                   >>  30           using these features, you should probably say N here, which will
                                                   >>  31           cause the configurator to present you with fewer choices. If
                                                   >>  32           you say Y here, you will be offered the choice of using features or
                                                   >>  33           drivers that are currently considered to be in the alpha-test phase.
                                                   >>  34 
                                                   >>  35 config CLEAN_COMPILE
                                                   >>  36         bool "Select only drivers expected to compile cleanly" if EXPERIMENTAL
                                                   >>  37         default y
                                                   >>  38         help
                                                   >>  39           Select this option if you don't even want to see the option
                                                   >>  40           to configure known-broken drivers.
 84                                                    41 
 85 config CC_CAN_LINK                             !!  42           If unsure, say Y
 86         bool                                   << 
 87         default $(success,$(srctree)/scripts/c << 
 88         default $(success,$(srctree)/scripts/c << 
 89                                                    43 
 90 config CC_CAN_LINK_STATIC                      !!  44 config STANDALONE
 91         bool                                   !!  45         bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
 92         default $(success,$(srctree)/scripts/c !!  46         default y
 93         default $(success,$(srctree)/scripts/c << 
 94                                                << 
 95 # Fixed in GCC 14, 13.3, 12.4 and 11.5         << 
 96 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id << 
 97 config GCC_ASM_GOTO_OUTPUT_BROKEN              << 
 98         bool                                   << 
 99         depends on CC_IS_GCC                   << 
100         default y if GCC_VERSION < 110500      << 
101         default y if GCC_VERSION >= 120000 &&  << 
102         default y if GCC_VERSION >= 130000 &&  << 
103                                                << 
104 config CC_HAS_ASM_GOTO_OUTPUT                  << 
105         def_bool y                             << 
106         depends on !GCC_ASM_GOTO_OUTPUT_BROKEN << 
107         depends on $(success,echo 'int foo(int << 
108                                                << 
109 config CC_HAS_ASM_GOTO_TIED_OUTPUT             << 
110         depends on CC_HAS_ASM_GOTO_OUTPUT      << 
111         # Detect buggy gcc and clang, fixed in << 
112         def_bool $(success,echo 'int foo(int * << 
113                                                << 
114 config TOOLS_SUPPORT_RELR                      << 
115         def_bool $(success,env "CC=$(CC)" "LD= << 
116                                                << 
117 config CC_HAS_ASM_INLINE                       << 
118         def_bool $(success,echo 'void foo(void << 
119                                                << 
120 config CC_HAS_NO_PROFILE_FN_ATTR               << 
121         def_bool $(success,echo '__attribute__ << 
122                                                << 
123 config PAHOLE_VERSION                          << 
124         int                                    << 
125         default $(shell,$(srctree)/scripts/pah << 
126                                                << 
127 config CONSTRUCTORS                            << 
128         bool                                   << 
129                                                << 
130 config IRQ_WORK                                << 
131         def_bool y if SMP                      << 
132                                                << 
133 config BUILDTIME_TABLE_SORT                    << 
134         bool                                   << 
135                                                << 
136 config THREAD_INFO_IN_TASK                     << 
137         bool                                   << 
138         help                                       47         help
139           Select this to move thread_info off  !!  48           Select this option if you don't have magic firmware for drivers that
140           make this work, an arch will need to !!  49           need it.
141           except flags and fix any runtime bug << 
142                                                << 
143           One subtle change that will be neede << 
144           and put_task_stack() in save_thread_ << 
145                                                    50 
146 menu "General setup"                           !!  51           If unsure, say Y.
147                                                    52 
148 config BROKEN                                      53 config BROKEN
149         bool                                       54         bool
                                                   >>  55         depends on !CLEAN_COMPILE
                                                   >>  56         default y
150                                                    57 
151 config BROKEN_ON_SMP                               58 config BROKEN_ON_SMP
152         bool                                       59         bool
153         depends on BROKEN || !SMP                  60         depends on BROKEN || !SMP
154         default y                                  61         default y
155                                                    62 
156 config INIT_ENV_ARG_LIMIT                      !!  63 endmenu
157         int                                    << 
158         default 32 if !UML                     << 
159         default 128 if UML                     << 
160         help                                   << 
161           Maximum of each of the number of arg << 
162           variables passed to init from the ke << 
163                                                << 
164 config COMPILE_TEST                            << 
165         bool "Compile also drivers which will  << 
166         depends on HAS_IOMEM                   << 
167         help                                   << 
168           Some drivers can be compiled on a di << 
169           intended to be run on. Despite they  << 
170           when they load they cannot be used d << 
171           developers still, opposing to distri << 
172           drivers to compile-test them.        << 
173                                                << 
174           If you are a developer and want to b << 
175           here. If you are a user/distributor, << 
176           drivers to be distributed.           << 
177                                                << 
178 config WERROR                                  << 
179         bool "Compile the kernel with warnings << 
180         default COMPILE_TEST                   << 
181         help                                   << 
182           A kernel build should not cause any  << 
183           enables the '-Werror' (for C) and '- << 
184           to enforce that rule by default. Cer << 
185           such as the linker may be upgraded t << 
186           well.                                << 
187                                                << 
188           However, if you have a new (or very  << 
189           and unusual warnings, or you have so << 
190           you may need to disable this config  << 
191           successfully build the kernel.       << 
192                                                << 
193           If in doubt, say Y.                  << 
194                                                << 
195 config UAPI_HEADER_TEST                        << 
196         bool "Compile test UAPI headers"       << 
197         depends on HEADERS_INSTALL && CC_CAN_L << 
198         help                                   << 
199           Compile test headers exported to use << 
200           self-contained, i.e. compilable as s << 
201                                                    64 
202           If you are a developer or tester and << 
203           headers are self-contained, say Y he << 
204                                                    65 
205 config LOCALVERSION                            !!  66 menu "General setup"
206         string "Local version - append to kern << 
207         help                                   << 
208           Append an extra string to the end of << 
209           This will show up when you type unam << 
210           The string you set here will be appe << 
211           any files with a filename matching l << 
212           object and source tree, in that orde << 
213           be a maximum of 64 characters.       << 
214                                                    67 
215 config LOCALVERSION_AUTO                       !!  68 config SWAP
216         bool "Automatically append version inf !!  69         bool "Support for paging of anonymous memory"
                                                   >>  70         depends on MMU
217         default y                                  71         default y
218         depends on !COMPILE_TEST               << 
219         help                                   << 
220           This will try to automatically deter << 
221           release tree by looking for git tags << 
222           top of tree revision.                << 
223                                                << 
224           A string of the format -gxxxxxxxx wi << 
225           if a git-based tree is found.  The s << 
226           appended after any matching localver << 
227           set in CONFIG_LOCALVERSION.          << 
228                                                << 
229           (The actual string used here is the  << 
230           by running the command:              << 
231                                                << 
232             $ git rev-parse --verify HEAD      << 
233                                                << 
234           which is done within the script "scr << 
235                                                << 
236 config BUILD_SALT                              << 
237         string "Build ID Salt"                 << 
238         default ""                             << 
239         help                                   << 
240           The build ID is used to link binarie << 
241           this option will use the value in th << 
242           This is mostly useful for distributi << 
243           build is unique between builds. It's << 
244                                                << 
245 config HAVE_KERNEL_GZIP                        << 
246         bool                                   << 
247                                                << 
248 config HAVE_KERNEL_BZIP2                       << 
249         bool                                   << 
250                                                << 
251 config HAVE_KERNEL_LZMA                        << 
252         bool                                   << 
253                                                << 
254 config HAVE_KERNEL_XZ                          << 
255         bool                                   << 
256                                                << 
257 config HAVE_KERNEL_LZO                         << 
258         bool                                   << 
259                                                << 
260 config HAVE_KERNEL_LZ4                         << 
261         bool                                   << 
262                                                << 
263 config HAVE_KERNEL_ZSTD                        << 
264         bool                                   << 
265                                                << 
266 config HAVE_KERNEL_UNCOMPRESSED                << 
267         bool                                   << 
268                                                << 
269 choice                                         << 
270         prompt "Kernel compression mode"       << 
271         default KERNEL_GZIP                    << 
272         depends on HAVE_KERNEL_GZIP || HAVE_KE << 
273         help                                   << 
274           The linux kernel is a kind of self-e << 
275           Several compression algorithms are a << 
276           in efficiency, compression and decom << 
277           Compression speed is only relevant w << 
278           Decompression speed is relevant at e << 
279                                                << 
280           If you have any problems with bzip2  << 
281           kernels, mail me (Alain Knaff) <alain << 
282           version of this functionality (bzip2 << 
283           supplied by Christian Ludwig)        << 
284                                                << 
285           High compression options are mostly  << 
286           are low on disk space (embedded syst << 
287           size matters less.                   << 
288                                                << 
289           If in doubt, select 'gzip'           << 
290                                                << 
291 config KERNEL_GZIP                             << 
292         bool "Gzip"                            << 
293         depends on HAVE_KERNEL_GZIP            << 
294         help                                   << 
295           The old and tried gzip compression.  << 
296           between compression ratio and decomp << 
297                                                << 
298 config KERNEL_BZIP2                            << 
299         bool "Bzip2"                           << 
300         depends on HAVE_KERNEL_BZIP2           << 
301         help                                       72         help
302           Its compression ratio and speed is i !!  73           This option allows you to choose whether you want to have support
303           Decompression speed is slowest among !!  74           for socalled swap devices or swap files in your kernel that are
304           size is about 10% smaller with bzip2 !!  75           used to provide more virtual memory than the actual RAM present
305           Bzip2 uses a large amount of memory. !!  76           in your computer.  If unsure say Y.
306           will need at least 8MB RAM or more f << 
307                                                << 
308 config KERNEL_LZMA                             << 
309         bool "LZMA"                            << 
310         depends on HAVE_KERNEL_LZMA            << 
311         help                                   << 
312           This compression algorithm's ratio i << 
313           is between gzip and bzip2.  Compress << 
314           The kernel size is about 33% smaller << 
315                                                << 
316 config KERNEL_XZ                               << 
317         bool "XZ"                              << 
318         depends on HAVE_KERNEL_XZ              << 
319         help                                   << 
320           XZ uses the LZMA2 algorithm and inst << 
321           BCJ filters which can improve compre << 
322           code. The size of the kernel is abou << 
323           comparison to gzip. On architectures << 
324           filter (i386, x86_64, ARM, ARM64, RI << 
325           and SPARC), XZ will create a few per << 
326           plain LZMA.                          << 
327                                                << 
328           The speed is about the same as with  << 
329           speed of XZ is better than that of b << 
330           and LZO. Compression is slow.        << 
331                                                << 
332 config KERNEL_LZO                              << 
333         bool "LZO"                             << 
334         depends on HAVE_KERNEL_LZO             << 
335         help                                   << 
336           Its compression ratio is the poorest << 
337           size is about 10% bigger than gzip;  << 
338           (both compression and decompression) << 
339                                                << 
340 config KERNEL_LZ4                              << 
341         bool "LZ4"                             << 
342         depends on HAVE_KERNEL_LZ4             << 
343         help                                   << 
344           LZ4 is an LZ77-type compressor with  << 
345           A preliminary version of LZ4 de/comp << 
346           <https://code.google.com/p/lz4/>.    << 
347                                                << 
348           Its compression ratio is worse than  << 
349           is about 8% bigger than LZO. But the << 
350           faster than LZO.                     << 
351                                                << 
352 config KERNEL_ZSTD                             << 
353         bool "ZSTD"                            << 
354         depends on HAVE_KERNEL_ZSTD            << 
355         help                                   << 
356           ZSTD is a compression algorithm targ << 
357           with fast decompression speed. It wi << 
358           decompress around the same speed as  << 
359           will need at least 192 KB RAM or mor << 
360           line tool is required for compressio << 
361                                                << 
362 config KERNEL_UNCOMPRESSED                     << 
363         bool "None"                            << 
364         depends on HAVE_KERNEL_UNCOMPRESSED    << 
365         help                                   << 
366           Produce uncompressed kernel image. T << 
367           you want. It is useful for debugging << 
368           environments, where decompressing an << 
369           slow. This option allows early boot  << 
370           and jump right at uncompressed kerne << 
371                                                << 
372 endchoice                                      << 
373                                                << 
374 config DEFAULT_INIT                            << 
375         string "Default init path"             << 
376         default ""                             << 
377         help                                   << 
378           This option determines the default i << 
379           option is passed on the kernel comma << 
380           not present, we will still then move << 
381           locations (e.g. /sbin/init, etc). If << 
382           the fallback list when init= is not  << 
383                                                << 
384 config DEFAULT_HOSTNAME                        << 
385         string "Default hostname"              << 
386         default "(none)"                       << 
387         help                                   << 
388           This option determines the default s << 
389           calls sethostname(2). The kernel tra << 
390           but you may wish to use a different  << 
391           system more usable with less configu << 
392                                                    77 
393 config SYSVIPC                                     78 config SYSVIPC
394         bool "System V IPC"                        79         bool "System V IPC"
395         help                                   !!  80         ---help---
396           Inter Process Communication is a sui     81           Inter Process Communication is a suite of library functions and
397           system calls which let processes (ru     82           system calls which let processes (running programs) synchronize and
398           exchange information. It is generall     83           exchange information. It is generally considered to be a good thing,
399           and some programs won't run unless y     84           and some programs won't run unless you say Y here. In particular, if
400           you want to run the DOS emulator dos     85           you want to run the DOS emulator dosemu under Linux (read the
401           DOSEMU-HOWTO, available from <http:/ !!  86           DOSEMU-HOWTO, available from
402           you'll need to say Y here.           !!  87           <http://www.tldp.org/docs.html#howto>), you'll need to say Y
                                                   >>  88           here.
403                                                    89 
404           You can find documentation about IPC     90           You can find documentation about IPC with "info ipc" and also in
405           section 6.4 of the Linux Programmer'     91           section 6.4 of the Linux Programmer's Guide, available from
406           <http://www.tldp.org/guides.html>.   !!  92           <http://www.tldp.org/docs.html#guide>.
407                                                << 
408 config SYSVIPC_SYSCTL                          << 
409         bool                                   << 
410         depends on SYSVIPC                     << 
411         depends on SYSCTL                      << 
412         default y                              << 
413                                                << 
414 config SYSVIPC_COMPAT                          << 
415         def_bool y                             << 
416         depends on COMPAT && SYSVIPC           << 
417                                                << 
418 config POSIX_MQUEUE                            << 
419         bool "POSIX Message Queues"            << 
420         depends on NET                         << 
421         help                                   << 
422           POSIX variant of message queues is a << 
423           queues every message has a priority  << 
424           of receiving it by a process. If you << 
425           programs written e.g. for Solaris wi << 
426           queues (functions mq_*) say Y here.  << 
427                                                << 
428           POSIX message queues are visible as  << 
429           and can be mounted somewhere if you  << 
430           operations on message queues.        << 
431                                                << 
432           If unsure, say Y.                    << 
433                                                << 
434 config POSIX_MQUEUE_SYSCTL                     << 
435         bool                                   << 
436         depends on POSIX_MQUEUE                << 
437         depends on SYSCTL                      << 
438         default y                              << 
439                                                << 
440 config WATCH_QUEUE                             << 
441         bool "General notification queue"      << 
442         default n                              << 
443         help                                   << 
444                                                << 
445           This is a general notification queue << 
446           userspace by splicing them into pipe << 
447           with watches for key/keyring change  << 
448           notifications.                       << 
449                                                << 
450           See Documentation/core-api/watch_que << 
451                                                << 
452 config CROSS_MEMORY_ATTACH                     << 
453         bool "Enable process_vm_readv/writev s << 
454         depends on MMU                         << 
455         default y                              << 
456         help                                   << 
457           Enabling this option adds the system << 
458           process_vm_writev which allow a proc << 
459           to directly read from or write to an << 
460           See the man page for more details.   << 
461                                                << 
462 config USELIB                                  << 
463         bool "uselib syscall (for libc5 and ea << 
464         default ALPHA || M68K || SPARC         << 
465         help                                   << 
466           This option enables the uselib sysca << 
467           dynamic linker from libc5 and earlie << 
468           system call.  If you intend to run p << 
469           earlier, you may need to enable this << 
470           running glibc can safely disable thi << 
471                                                << 
472 config AUDIT                                   << 
473         bool "Auditing support"                << 
474         depends on NET                         << 
475         help                                   << 
476           Enable auditing infrastructure that  << 
477           kernel subsystem, such as SELinux (w << 
478           logging of avc messages output).  Sy << 
479           on architectures which support it.   << 
480                                                << 
481 config HAVE_ARCH_AUDITSYSCALL                  << 
482         bool                                   << 
483                                                << 
484 config AUDITSYSCALL                            << 
485         def_bool y                             << 
486         depends on AUDIT && HAVE_ARCH_AUDITSYS << 
487         select FSNOTIFY                        << 
488                                                << 
489 source "kernel/irq/Kconfig"                    << 
490 source "kernel/time/Kconfig"                   << 
491 source "kernel/bpf/Kconfig"                    << 
492 source "kernel/Kconfig.preempt"                << 
493                                                << 
494 menu "CPU/Task time and stats accounting"      << 
495                                                << 
496 config VIRT_CPU_ACCOUNTING                     << 
497         bool                                   << 
498                                                << 
499 choice                                         << 
500         prompt "Cputime accounting"            << 
501         default TICK_CPU_ACCOUNTING            << 
502                                                << 
503 # Kind of a stub config for the pure tick base << 
504 config TICK_CPU_ACCOUNTING                     << 
505         bool "Simple tick based cputime accoun << 
506         depends on !S390 && !NO_HZ_FULL        << 
507         help                                   << 
508           This is the basic tick based cputime << 
509           statistics about user, system and id << 
510           granularity.                         << 
511                                                << 
512           If unsure, say Y.                    << 
513                                                << 
514 config VIRT_CPU_ACCOUNTING_NATIVE              << 
515         bool "Deterministic task and CPU time  << 
516         depends on HAVE_VIRT_CPU_ACCOUNTING && << 
517         select VIRT_CPU_ACCOUNTING             << 
518         help                                   << 
519           Select this option to enable more ac << 
520           accounting.  This is done by reading << 
521           kernel entry and exit and on transit << 
522           between system, softirq and hardirq  << 
523           small performance impact.  In the ca << 
524           this also enables accounting of stol << 
525           systems.                             << 
526                                                << 
527 config VIRT_CPU_ACCOUNTING_GEN                 << 
528         bool "Full dynticks CPU time accountin << 
529         depends on HAVE_CONTEXT_TRACKING_USER  << 
530         depends on HAVE_VIRT_CPU_ACCOUNTING_GE << 
531         depends on GENERIC_CLOCKEVENTS         << 
532         select VIRT_CPU_ACCOUNTING             << 
533         select CONTEXT_TRACKING_USER           << 
534         help                                   << 
535           Select this option to enable task an << 
536           dynticks systems. This accounting is << 
537           kernel-user boundaries using the con << 
538           The accounting is thus performed at  << 
539           overhead.                            << 
540                                                << 
541           For now this is only useful if you a << 
542           dynticks subsystem development.      << 
543                                                << 
544           If unsure, say N.                    << 
545                                                << 
546 endchoice                                      << 
547                                                << 
548 config IRQ_TIME_ACCOUNTING                     << 
549         bool "Fine granularity task level IRQ  << 
550         depends on HAVE_IRQ_TIME_ACCOUNTING && << 
551         help                                   << 
552           Select this option to enable fine gr << 
553           accounting. This is done by reading  << 
554           transitions between softirq and hard << 
555           small performance impact.            << 
556                                                << 
557           If in doubt, say N here.             << 
558                                                << 
559 config HAVE_SCHED_AVG_IRQ                      << 
560         def_bool y                             << 
561         depends on IRQ_TIME_ACCOUNTING || PARA << 
562         depends on SMP                         << 
563                                                << 
564 config SCHED_HW_PRESSURE                       << 
565         bool                                   << 
566         default y if ARM && ARM_CPU_TOPOLOGY   << 
567         default y if ARM64                     << 
568         depends on SMP                         << 
569         depends on CPU_FREQ_THERMAL            << 
570         help                                   << 
571           Select this option to enable HW pres << 
572           scheduler. HW pressure is the value  << 
573           that reflects the reduction in CPU c << 
574           HW throttling. HW throttling occurs  << 
575           a CPU is capped due to high operatin << 
576                                                << 
577           If selected, the scheduler will be a << 
578           i.e. put less load on throttled CPUs << 
579                                                << 
580           This requires the architecture to im << 
581           arch_update_hw_pressure() and arch_s << 
582                                                    93 
583 config BSD_PROCESS_ACCT                            94 config BSD_PROCESS_ACCT
584         bool "BSD Process Accounting"              95         bool "BSD Process Accounting"
585         depends on MULTIUSER                   << 
586         help                                       96         help
587           If you say Y here, a user level prog     97           If you say Y here, a user level program will be able to instruct the
588           kernel (via a special system call) t     98           kernel (via a special system call) to write process accounting
589           information to a file: whenever a pr     99           information to a file: whenever a process exits, information about
590           that process will be appended to the    100           that process will be appended to the file by the kernel.  The
591           information includes things such as     101           information includes things such as creation time, owning user,
592           command name, memory usage, controll    102           command name, memory usage, controlling terminal etc. (the complete
593           list is in the struct acct in <file:    103           list is in the struct acct in <file:include/linux/acct.h>).  It is
594           up to the user level program to do u    104           up to the user level program to do useful things with this
595           information.  This is generally a go    105           information.  This is generally a good idea, so say Y.
596                                                   106 
597 config BSD_PROCESS_ACCT_V3                     !! 107 config SYSCTL
598         bool "BSD Process Accounting version 3 !! 108         bool "Sysctl support"
599         depends on BSD_PROCESS_ACCT            !! 109         ---help---
600         default n                              !! 110           The sysctl interface provides a means of dynamically changing
601         help                                   !! 111           certain kernel parameters and variables on the fly without requiring
602           If you say Y here, the process accou !! 112           a recompile of the kernel or reboot of the system.  The primary
603           in a new file format that also logs  !! 113           interface consists of a system call, but if you say Y to "/proc
604           process and its parent. Note that th !! 114           file system support", a tree of modifiable sysctl entries will be
605           with previous v0/v1/v2 file formats, !! 115           generated beneath the /proc/sys directory. They are explained in the
606           for processing it. A preliminary ver !! 116           files in <file:Documentation/sysctl/>.  Note that enabling this
607           at <http://www.gnu.org/software/acct !! 117           option will enlarge the kernel by at least 8 KB.
608                                                !! 118 
609 config TASKSTATS                               !! 119           As it is generally a good thing, you should say Y here unless
610         bool "Export task/process statistics t !! 120           building a kernel for install/rescue disks or your system is very
611         depends on NET                         !! 121           limited in memory.
612         depends on MULTIUSER                   << 
613         default n                              << 
614         help                                   << 
615           Export selected statistics for tasks << 
616           generic netlink interface. Unlike BS << 
617           statistics are available during the  << 
618           responses to commands. Like BSD acco << 
619           space on task exit.                  << 
620                                                << 
621           Say N if unsure.                     << 
622                                                << 
623 config TASK_DELAY_ACCT                         << 
624         bool "Enable per-task delay accounting << 
625         depends on TASKSTATS                   << 
626         select SCHED_INFO                      << 
627         help                                   << 
628           Collect information on time spent by << 
629           resources like cpu, synchronous bloc << 
630           in pages. Such statistics can help i << 
631           relative to other tasks for cpu, io, << 
632                                                << 
633           Say N if unsure.                     << 
634                                                << 
635 config TASK_XACCT                              << 
636         bool "Enable extended accounting over  << 
637         depends on TASKSTATS                   << 
638         help                                   << 
639           Collect extended task accounting dat << 
640           to userland for processing over the  << 
641                                                << 
642           Say N if unsure.                     << 
643                                                << 
644 config TASK_IO_ACCOUNTING                      << 
645         bool "Enable per-task storage I/O acco << 
646         depends on TASK_XACCT                  << 
647         help                                   << 
648           Collect information on the number of << 
649           task has caused.                     << 
650                                                << 
651           Say N if unsure.                     << 
652                                                << 
653 config PSI                                     << 
654         bool "Pressure stall information track << 
655         select KERNFS                          << 
656         help                                   << 
657           Collect metrics that indicate how ov << 
658           and IO capacity are in the system.   << 
659                                                << 
660           If you say Y here, the kernel will c << 
661           pressure statistics files cpu, memor << 
662           the share of walltime in which some  << 
663           delayed due to contention of the res << 
664                                                << 
665           In kernels with cgroup support, cgro << 
666           have cpu.pressure, memory.pressure,  << 
667           which aggregate pressure stalls for  << 
668                                                << 
669           For more details see Documentation/a << 
670                                                << 
671           Say N if unsure.                     << 
672                                                << 
673 config PSI_DEFAULT_DISABLED                    << 
674         bool "Require boot parameter to enable << 
675         default n                              << 
676         depends on PSI                         << 
677         help                                   << 
678           If set, pressure stall information t << 
679           per default but can be enabled throu << 
680           kernel commandline during boot.      << 
681                                                << 
682           This feature adds some code to the t << 
683           paths of the scheduler. The overhead << 
684           common scheduling-intense workloads  << 
685           webservers, memcache), but it does s << 
686           scheduler stress tests, such as hack << 
687                                                << 
688           If you are paranoid and not sure wha << 
689           used for, say Y.                     << 
690                                                << 
691           Say N if unsure.                     << 
692                                                << 
693 endmenu # "CPU/Task time and stats accounting" << 
694                                                << 
695 config CPU_ISOLATION                           << 
696         bool "CPU isolation"                   << 
697         depends on SMP || COMPILE_TEST         << 
698         default y                              << 
699         help                                   << 
700           Make sure that CPUs running critical << 
701           any source of "noise" such as unboun << 
702           Unbound jobs get offloaded to housek << 
703           the "isolcpus=" boot parameter.      << 
704                                                << 
705           Say Y if unsure.                     << 
706                                                   122 
707 source "kernel/rcu/Kconfig"                    !! 123 config LOG_BUF_SHIFT
                                                   >> 124         int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
                                                   >> 125         range 12 20
                                                   >> 126         default 17 if ARCH_S390
                                                   >> 127         default 16 if X86_NUMAQ || IA64
                                                   >> 128         default 15 if SMP
                                                   >> 129         default 14
                                                   >> 130         help
                                                   >> 131           Select kernel log buffer size as a power of 2.
                                                   >> 132           Defaults and Examples:
                                                   >> 133                      17 => 128 KB for S/390
                                                   >> 134                      16 => 64 KB for x86 NUMAQ or IA-64
                                                   >> 135                      15 => 32 KB for SMP
                                                   >> 136                      14 => 16 KB for uniprocessor
                                                   >> 137                      13 =>  8 KB
                                                   >> 138                      12 =>  4 KB
708                                                   139 
709 config IKCONFIG                                   140 config IKCONFIG
710         tristate "Kernel .config support"      !! 141         bool "Kernel .config support"
711         help                                   !! 142         ---help---
712           This option enables the complete Lin    143           This option enables the complete Linux kernel ".config" file
713           contents to be saved in the kernel.  !! 144           contents, information on compiler used to build the kernel,
                                                   >> 145           kernel running when this kernel was built and kernel version
                                                   >> 146           from Makefile to be saved in the kernel. It provides documentation
714           of which kernel options are used in     147           of which kernel options are used in a running kernel or in an
715           on-disk kernel.  This information ca    148           on-disk kernel.  This information can be extracted from the kernel
716           image file with the script scripts/e    149           image file with the script scripts/extract-ikconfig and used as
717           input to rebuild the current kernel     150           input to rebuild the current kernel or to build another kernel.
718           It can also be extracted from a runn    151           It can also be extracted from a running kernel by reading
719           /proc/config.gz if enabled (below).  !! 152           /proc/config.gz and /proc/config_built_with, if enabled (below).
                                                   >> 153           /proc/config.gz will list the configuration that was used
                                                   >> 154           to build the kernel and /proc/config_built_with will list
                                                   >> 155           information on the compiler and host machine that was used to
                                                   >> 156           build the kernel.
720                                                   157 
721 config IKCONFIG_PROC                              158 config IKCONFIG_PROC
722         bool "Enable access to .config through    159         bool "Enable access to .config through /proc/config.gz"
723         depends on IKCONFIG && PROC_FS            160         depends on IKCONFIG && PROC_FS
724         help                                   !! 161         ---help---
725           This option enables access to the ke !! 162           This option enables access to kernel configuration file and build
726           through /proc/config.gz.             !! 163           information through /proc/config.gz.
727                                                << 
728 config IKHEADERS                               << 
729         tristate "Enable kernel headers throug << 
730         depends on SYSFS                       << 
731         help                                   << 
732           This option enables access to the in << 
733           the build process. These can be used << 
734           or similar programs.  If you build t << 
735           kheaders.ko is built which can be lo << 
736                                                << 
737 config LOG_BUF_SHIFT                           << 
738         int "Kernel log buffer size (16 => 64K << 
739         range 12 25                            << 
740         default 17                             << 
741         depends on PRINTK                      << 
742         help                                   << 
743           Select the minimal kernel log buffer << 
744           The final size is affected by LOG_CP << 
745           parameter, see below. Any higher siz << 
746           by "log_buf_len" boot parameter.     << 
747                                                << 
748           Examples:                            << 
749                      17 => 128 KB              << 
750                      16 => 64 KB               << 
751                      15 => 32 KB               << 
752                      14 => 16 KB               << 
753                      13 =>  8 KB               << 
754                      12 =>  4 KB               << 
755                                                << 
756 config LOG_CPU_MAX_BUF_SHIFT                   << 
757         int "CPU kernel log buffer size contri << 
758         depends on SMP                         << 
759         range 0 21                             << 
760         default 0 if BASE_SMALL                << 
761         default 12                             << 
762         depends on PRINTK                      << 
763         help                                   << 
764           This option allows to increase the d << 
765           according to the number of CPUs. The << 
766           of each CPU as a power of 2. The use << 
767           lines however it might be much more  << 
768           e.g. backtraces.                     << 
769                                                << 
770           The increased size means that a new  << 
771           the original static one is unused. I << 
772           with more CPUs. Therefore this value << 
773           contributions is greater than the ha << 
774           buffer as defined by LOG_BUF_SHIFT.  << 
775           so that more than 16 CPUs are needed << 
776                                                << 
777           Also this option is ignored when "lo << 
778           used as it forces an exact (power of << 
779                                                << 
780           The number of possible CPUs is used  << 
781           hotplugging making the computation o << 
782           scenario while allowing a simple alg << 
783                                                << 
784           Examples shift values and their mean << 
785                      17 => 128 KB for each CPU << 
786                      16 =>  64 KB for each CPU << 
787                      15 =>  32 KB for each CPU << 
788                      14 =>  16 KB for each CPU << 
789                      13 =>   8 KB for each CPU << 
790                      12 =>   4 KB for each CPU << 
791                                                << 
792 config PRINTK_INDEX                            << 
793         bool "Printk indexing debugfs interfac << 
794         depends on PRINTK && DEBUG_FS          << 
795         help                                   << 
796           Add support for indexing of all prin << 
797           at <debugfs>/printk/index/<module>.  << 
798                                                << 
799           This can be used as part of maintain << 
800           /dev/kmsg, as it permits auditing th << 
801           kernel, allowing detection of cases  << 
802           changed or no longer present.        << 
803                                                << 
804           There is no additional runtime cost  << 
805                                                << 
806 #                                              << 
807 # Architectures with an unreliable sched_clock << 
808 #                                              << 
809 config HAVE_UNSTABLE_SCHED_CLOCK               << 
810         bool                                   << 
811                                                << 
812 config GENERIC_SCHED_CLOCK                     << 
813         bool                                   << 
814                                                << 
815 menu "Scheduler features"                      << 
816                                                << 
817 config UCLAMP_TASK                             << 
818         bool "Enable utilization clamping for  << 
819         depends on CPU_FREQ_GOV_SCHEDUTIL      << 
820         help                                   << 
821           This feature enables the scheduler t << 
822           of each CPU based on RUNNABLE tasks  << 
823                                                << 
824           With this option, the user can speci << 
825           utilization allowed for RUNNABLE tas << 
826           the maximum frequency a task should  << 
827           defines the minimum frequency it sho << 
828                                                << 
829           Both min and max utilization clamp v << 
830           aiming at improving its frequency se << 
831           enforce or grant any specific bandwi << 
832                                                << 
833           If in doubt, say N.                  << 
834                                                << 
835 config UCLAMP_BUCKETS_COUNT                    << 
836         int "Number of supported utilization c << 
837         range 5 20                             << 
838         default 5                              << 
839         depends on UCLAMP_TASK                 << 
840         help                                   << 
841           Defines the number of clamp buckets  << 
842           will be SCHED_CAPACITY_SCALE/UCLAMP_ << 
843           number of clamp buckets the finer th << 
844           the precision of clamping aggregatio << 
845                                                << 
846           For example, with the minimum config << 
847           clamp buckets tracking 20% utilizati << 
848           be refcounted in the [20..39]% bucke << 
849           effective value to 25%.              << 
850           If a second 30% boosted task should  << 
851           that task will be refcounted in the  << 
852           it will boost the bucket clamp effec << 
853           The clamp effective value of a bucke << 
854           (20% in the example above) when ther << 
855           that bucket.                         << 
856                                                << 
857           An additional boost/capping margin c << 
858           example above the 25% task will be b << 
859           CPU. If that should be considered no << 
860           it's always possible to reduce the m << 
861           clamp buckets to trade off used memo << 
862           precision.                           << 
863                                                << 
864           If in doubt, use the default value.  << 
865                                                << 
866 endmenu                                        << 
867                                                << 
868 #                                              << 
869 # For architectures that want to enable the su << 
870 # balancing logic:                             << 
871 #                                              << 
872 config ARCH_SUPPORTS_NUMA_BALANCING            << 
873         bool                                   << 
874                                                << 
875 #                                              << 
876 # For architectures that prefer to flush all T << 
877 # are unmapped instead of sending one IPI per  << 
878 # must provide guarantees on what happens if a << 
879 # written after the unmap. Details are in mm/r << 
880 # should_defer_flush. The architecture should  << 
881 # and the refill costs are offset by the savin << 
882 config ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH       << 
883         bool                                   << 
884                                                << 
885 config CC_HAS_INT128                           << 
886         def_bool !$(cc-option,$(m64-flag) -D__ << 
887                                                << 
888 config CC_IMPLICIT_FALLTHROUGH                 << 
889         string                                 << 
890         default "-Wimplicit-fallthrough=5" if  << 
891         default "-Wimplicit-fallthrough" if CC << 
892                                                << 
893 # Currently, disable gcc-10+ array-bounds glob << 
894 # It's still broken in gcc-13, so no upper bou << 
895 config GCC10_NO_ARRAY_BOUNDS                   << 
896         def_bool y                             << 
897                                                << 
898 config CC_NO_ARRAY_BOUNDS                      << 
899         bool                                   << 
900         default y if CC_IS_GCC && GCC_VERSION  << 
901                                                << 
902 # Currently, disable -Wstringop-overflow for G << 
903 config GCC_NO_STRINGOP_OVERFLOW                << 
904         def_bool y                             << 
905                                                << 
906 config CC_NO_STRINGOP_OVERFLOW                 << 
907         bool                                   << 
908         default y if CC_IS_GCC && GCC_NO_STRIN << 
909                                                << 
910 config CC_STRINGOP_OVERFLOW                    << 
911         bool                                   << 
912         default y if CC_IS_GCC && !CC_NO_STRIN << 
913                                                << 
914 #                                              << 
915 # For architectures that know their GCC __int1 << 
916 #                                              << 
917 config ARCH_SUPPORTS_INT128                    << 
918         bool                                   << 
919                                                << 
920 # For architectures that (ab)use NUMA to repre << 
921 # all cpu-local but of different latencies, su << 
922 #                                              << 
923 config ARCH_WANT_NUMA_VARIABLE_LOCALITY        << 
924         bool                                   << 
925                                                << 
926 config NUMA_BALANCING                          << 
927         bool "Memory placement aware NUMA sche << 
928         depends on ARCH_SUPPORTS_NUMA_BALANCIN << 
929         depends on !ARCH_WANT_NUMA_VARIABLE_LO << 
930         depends on SMP && NUMA && MIGRATION && << 
931         help                                   << 
932           This option adds support for automat << 
933           The mechanism is quite primitive and << 
934           it has references to the node the ta << 
935                                                << 
936           This system will be inactive on UMA  << 
937                                                   164 
938 config NUMA_BALANCING_DEFAULT_ENABLED          << 
939         bool "Automatically enable NUMA aware  << 
940         default y                              << 
941         depends on NUMA_BALANCING              << 
942         help                                   << 
943           If set, automatic NUMA balancing wil << 
944           machine.                             << 
945                                                << 
946 config SLAB_OBJ_EXT                            << 
947         bool                                   << 
948                                                << 
949 menuconfig CGROUPS                             << 
950         bool "Control Group support"           << 
951         select KERNFS                          << 
952         help                                   << 
953           This option adds support for groupin << 
954           use with process control subsystems  << 
955           controls or device isolation.        << 
956           See                                  << 
957                 - Documentation/scheduler/sche << 
958                 - Documentation/admin-guide/cg << 
959                                           and  << 
960                                                << 
961           Say N if unsure.                     << 
962                                                << 
963 if CGROUPS                                     << 
964                                                << 
965 config PAGE_COUNTER                            << 
966         bool                                   << 
967                                                << 
968 config CGROUP_FAVOR_DYNMODS                    << 
969         bool "Favor dynamic modification laten << 
970         help                                   << 
971           This option enables the "favordynmod << 
972           which reduces the latencies of dynam << 
973           as task migrations and controller on << 
974           hot path operations such as forks an << 
975                                                << 
976           Say N if unsure.                     << 
977                                                << 
978 config MEMCG                                   << 
979         bool "Memory controller"               << 
980         select PAGE_COUNTER                    << 
981         select EVENTFD                         << 
982         select SLAB_OBJ_EXT                    << 
983         help                                   << 
984           Provides control over the memory foo << 
985                                                << 
986 config MEMCG_V1                                << 
987         bool "Legacy cgroup v1 memory controll << 
988         depends on MEMCG                       << 
989         default n                              << 
990         help                                   << 
991           Legacy cgroup v1 memory controller w << 
992           cgroup v2 implementation. The v1 is  << 
993           which haven't migrated to the new cg << 
994           do not have any such application the << 
995           this option disabled.                << 
996                                                << 
997           Please note that feature set of the  << 
998           going to shrink due to deprecation p << 
999           controller are highly discouraged.   << 
1000                                               << 
1001           Say N if unsure.                    << 
1002                                               << 
1003 config BLK_CGROUP                             << 
1004         bool "IO controller"                  << 
1005         depends on BLOCK                      << 
1006         default n                             << 
1007         help                                  << 
1008         Generic block IO controller cgroup in << 
1009         cgroup interface which should be used << 
1010         policies.                             << 
1011                                               << 
1012         Currently, CFQ IO scheduler uses it t << 
1013         control disk bandwidth allocation (pr << 
1014         to such task groups. It is also used  << 
1015         block layer to implement upper limit  << 
1016                                               << 
1017         This option only enables generic Bloc << 
1018         One needs to also enable actual IO co << 
1019         enabling proportional weight division << 
1020         CONFIG_BFQ_GROUP_IOSCHED=y; for enabl << 
1021         CONFIG_BLK_DEV_THROTTLING=y.          << 
1022                                               << 
1023         See Documentation/admin-guide/cgroup- << 
1024                                               << 
1025 config CGROUP_WRITEBACK                       << 
1026         bool                                  << 
1027         depends on MEMCG && BLK_CGROUP        << 
1028         default y                             << 
1029                                               << 
1030 menuconfig CGROUP_SCHED                       << 
1031         bool "CPU controller"                 << 
1032         default n                             << 
1033         help                                  << 
1034           This feature lets CPU scheduler rec << 
1035           bandwidth allocation to such task g << 
1036           tasks.                              << 
1037                                               << 
1038 if CGROUP_SCHED                               << 
1039 config GROUP_SCHED_WEIGHT                     << 
1040         def_bool n                            << 
1041                                               << 
1042 config FAIR_GROUP_SCHED                       << 
1043         bool "Group scheduling for SCHED_OTHE << 
1044         depends on CGROUP_SCHED               << 
1045         select GROUP_SCHED_WEIGHT             << 
1046         default CGROUP_SCHED                  << 
1047                                               << 
1048 config CFS_BANDWIDTH                          << 
1049         bool "CPU bandwidth provisioning for  << 
1050         depends on FAIR_GROUP_SCHED           << 
1051         default n                             << 
1052         help                                  << 
1053           This option allows users to define  << 
1054           tasks running within the fair group << 
1055           set are considered to be unconstrai << 
1056           restriction.                        << 
1057           See Documentation/scheduler/sched-b << 
1058                                               << 
1059 config RT_GROUP_SCHED                         << 
1060         bool "Group scheduling for SCHED_RR/F << 
1061         depends on CGROUP_SCHED               << 
1062         default n                             << 
1063         help                                  << 
1064           This feature lets you explicitly al << 
1065           to task groups. If enabled, it will << 
1066           schedule realtime tasks for non-roo << 
1067           realtime bandwidth for them.        << 
1068           See Documentation/scheduler/sched-r << 
1069                                               << 
1070 config EXT_GROUP_SCHED                        << 
1071         bool                                  << 
1072         depends on SCHED_CLASS_EXT && CGROUP_ << 
1073         select GROUP_SCHED_WEIGHT             << 
1074         default y                             << 
1075                                               << 
1076 endif #CGROUP_SCHED                           << 
1077                                               << 
1078 config SCHED_MM_CID                           << 
1079         def_bool y                            << 
1080         depends on SMP && RSEQ                << 
1081                                               << 
1082 config UCLAMP_TASK_GROUP                      << 
1083         bool "Utilization clamping per group  << 
1084         depends on CGROUP_SCHED               << 
1085         depends on UCLAMP_TASK                << 
1086         default n                             << 
1087         help                                  << 
1088           This feature enables the scheduler  << 
1089           of each CPU based on RUNNABLE tasks << 
1090                                               << 
1091           When this option is enabled, the us << 
1092           CPU bandwidth which is allowed for  << 
1093           The max bandwidth allows to clamp t << 
1094           can use, while the min bandwidth al << 
1095           frequency a task will always use.   << 
1096                                               << 
1097           When task group based utilization c << 
1098           specified task-specific clamp value << 
1099           specified clamp value. Both minimum << 
1100           be bigger than the corresponding cl << 
1101                                               << 
1102           If in doubt, say N.                 << 
1103                                               << 
1104 config CGROUP_PIDS                            << 
1105         bool "PIDs controller"                << 
1106         help                                  << 
1107           Provides enforcement of process num << 
1108           cgroup. Any attempt to fork more pr << 
1109           cgroup will fail. PIDs are fundamen << 
1110           is fairly trivial to reach PID exha << 
1111           conservative kmemcg limit. As a res << 
1112           system to halt without being limite << 
1113           PIDs controller is designed to stop << 
1114                                               << 
1115           It should be noted that organisatio << 
1116           to a cgroup hierarchy) will *not* b << 
1117           since the PIDs limit only affects a << 
1118           attach to a cgroup.                 << 
1119                                               << 
1120 config CGROUP_RDMA                            << 
1121         bool "RDMA controller"                << 
1122         help                                  << 
1123           Provides enforcement of RDMA resour << 
1124           It is fairly easy for consumers to  << 
1125           can result into resource unavailabi << 
1126           RDMA controller is designed to stop << 
1127           Attaching processes with active RDM << 
1128           hierarchy is allowed even if can cr << 
1129                                               << 
1130 config CGROUP_FREEZER                         << 
1131         bool "Freezer controller"             << 
1132         help                                  << 
1133           Provides a way to freeze and unfree << 
1134           cgroup.                             << 
1135                                               << 
1136           This option affects the ORIGINAL cg << 
1137           controller includes important in-ke << 
1138                                               << 
1139           If you're using cgroup2, say N.     << 
1140                                               << 
1141 config CGROUP_HUGETLB                         << 
1142         bool "HugeTLB controller"             << 
1143         depends on HUGETLB_PAGE               << 
1144         select PAGE_COUNTER                   << 
1145         default n                             << 
1146         help                                  << 
1147           Provides a cgroup controller for Hu << 
1148           When you enable this, you can put a << 
1149           The limit is enforced during page f << 
1150           support page reclaim, enforcing the << 
1151           that, the application will get SIGB << 
1152           HugeTLB pages beyond its limit. Thi << 
1153           beforehand how much HugeTLB pages i << 
1154           control group is tracked in the thi << 
1155           that we cannot use the controller w << 
1156                                               << 
1157 config CPUSETS                                << 
1158         bool "Cpuset controller"              << 
1159         depends on SMP                        << 
1160         help                                  << 
1161           This option will let you create and << 
1162           allow dynamically partitioning a sy << 
1163           Memory Nodes and assigning tasks to << 
1164           This is primarily useful on large S << 
1165                                               << 
1166           Say N if unsure.                    << 
1167                                               << 
1168 config CPUSETS_V1                             << 
1169         bool "Legacy cgroup v1 cpusets contro << 
1170         depends on CPUSETS                    << 
1171         default n                             << 
1172         help                                  << 
1173           Legacy cgroup v1 cpusets controller << 
1174           cgroup v2 implementation. The v1 is << 
1175           which haven't migrated to the new c << 
1176           do not have any such application th << 
1177           this option disabled.               << 
1178                                               << 
1179           Say N if unsure.                    << 
1180                                               << 
1181 config PROC_PID_CPUSET                        << 
1182         bool "Include legacy /proc/<pid>/cpus << 
1183         depends on CPUSETS                    << 
1184         default y                             << 
1185                                               << 
1186 config CGROUP_DEVICE                          << 
1187         bool "Device controller"              << 
1188         help                                  << 
1189           Provides a cgroup controller implem << 
1190           devices which a process in the cgro << 
1191                                               << 
1192 config CGROUP_CPUACCT                         << 
1193         bool "Simple CPU accounting controlle << 
1194         help                                  << 
1195           Provides a simple controller for mo << 
1196           total CPU consumed by the tasks in  << 
1197                                               << 
1198 config CGROUP_PERF                            << 
1199         bool "Perf controller"                << 
1200         depends on PERF_EVENTS                << 
1201         help                                  << 
1202           This option extends the perf per-cp << 
1203           to threads which belong to the cgro << 
1204           designated cpu.  Or this can be use << 
1205           so that it can monitor performance  << 
1206                                               << 
1207           Say N if unsure.                    << 
1208                                               << 
1209 config CGROUP_BPF                             << 
1210         bool "Support for eBPF programs attac << 
1211         depends on BPF_SYSCALL                << 
1212         select SOCK_CGROUP_DATA               << 
1213         help                                  << 
1214           Allow attaching eBPF programs to a  << 
1215           syscall command BPF_PROG_ATTACH.    << 
1216                                               << 
1217           In which context these programs are << 
1218           of attachment. For instance, progra << 
1219           BPF_CGROUP_INET_INGRESS will be exe << 
1220           inet sockets.                       << 
1221                                               << 
1222 config CGROUP_MISC                            << 
1223         bool "Misc resource controller"       << 
1224         default n                             << 
1225         help                                  << 
1226           Provides a controller for miscellan << 
1227                                               << 
1228           Miscellaneous scalar resources are  << 
1229           which cannot be abstracted like the << 
1230           tracks and limits the miscellaneous << 
1231           attached to a cgroup hierarchy.     << 
1232                                               << 
1233           For more information, please check  << 
1234           /Documentation/admin-guide/cgroup-v << 
1235                                               << 
1236 config CGROUP_DEBUG                           << 
1237         bool "Debug controller"               << 
1238         default n                             << 
1239         depends on DEBUG_KERNEL               << 
1240         help                                  << 
1241           This option enables a simple contro << 
1242           debugging information about the cgr << 
1243           controller is for control cgroup de << 
1244           interfaces are not stable.          << 
1245                                               << 
1246           Say N.                              << 
1247                                               << 
1248 config SOCK_CGROUP_DATA                       << 
1249         bool                                  << 
1250         default n                             << 
1251                                                  165 
1252 endif # CGROUPS                               !! 166 menuconfig EMBEDDED
                                                   >> 167         bool "Remove kernel features (for embedded systems)"
                                                   >> 168         help
                                                   >> 169           This option allows certain base kernel features to be removed from
                                                   >> 170           the build.  This is for specialized environments which can tolerate
                                                   >> 171           a "non-standard" kernel.  Only use this if you really know what you
                                                   >> 172           are doing.
1253                                                  173 
1254 menuconfig NAMESPACES                         !! 174 config KALLSYMS
1255         bool "Namespaces support" if EXPERT   !! 175          bool "Load all symbols for debugging/kksymoops" if EMBEDDED
1256         depends on MULTIUSER                  !! 176          default y
1257         default !EXPERT                       !! 177          help
1258         help                                  !! 178            Say Y here to let the kernel print out symbolic crash information and
1259           Provides the way to make tasks work !! 179            symbolic stack backtraces. This increases the size of the kernel
1260           the same id. For example same IPC i !! 180            somewhat, as all symbols have to be loaded into the kernel image.
1261           or same user id or pid may refer to << 
1262           different namespaces.               << 
1263                                               << 
1264 if NAMESPACES                                 << 
1265                                               << 
1266 config UTS_NS                                 << 
1267         bool "UTS namespace"                  << 
1268         default y                             << 
1269         help                                  << 
1270           In this namespace tasks see differe << 
1271           uname() system call                 << 
1272                                               << 
1273 config TIME_NS                                << 
1274         bool "TIME namespace"                 << 
1275         depends on GENERIC_VDSO_TIME_NS       << 
1276         default y                             << 
1277         help                                  << 
1278           In this namespace boottime and mono << 
1279           The time will keep going with the s << 
1280                                               << 
1281 config IPC_NS                                 << 
1282         bool "IPC namespace"                  << 
1283         depends on (SYSVIPC || POSIX_MQUEUE)  << 
1284         default y                             << 
1285         help                                  << 
1286           In this namespace tasks work with I << 
1287           different IPC objects in different  << 
1288                                               << 
1289 config USER_NS                                << 
1290         bool "User namespace"                 << 
1291         default n                             << 
1292         help                                  << 
1293           This allows containers, i.e. vserve << 
1294           to provide different user info for  << 
1295                                               << 
1296           When user namespaces are enabled in << 
1297           recommended that the MEMCG option a << 
1298           user-space use the memory control g << 
1299           of memory a memory unprivileged use << 
1300                                               << 
1301           If unsure, say N.                   << 
1302                                               << 
1303 config PID_NS                                 << 
1304         bool "PID Namespaces"                 << 
1305         default y                             << 
1306         help                                  << 
1307           Support process id namespaces.  Thi << 
1308           processes with the same pid as long << 
1309           pid namespaces.  This is a building << 
1310                                               << 
1311 config NET_NS                                 << 
1312         bool "Network namespace"              << 
1313         depends on NET                        << 
1314         default y                             << 
1315         help                                  << 
1316           Allow user space to create what app << 
1317           of the network stack.               << 
1318                                               << 
1319 endif # NAMESPACES                            << 
1320                                               << 
1321 config CHECKPOINT_RESTORE                     << 
1322         bool "Checkpoint/restore support"     << 
1323         depends on PROC_FS                    << 
1324         select PROC_CHILDREN                  << 
1325         select KCMP                           << 
1326         default n                             << 
1327         help                                  << 
1328           Enables additional kernel features  << 
1329           In particular it adds auxiliary prc << 
1330           data and heap segment sizes, and a  << 
1331           entries.                            << 
1332                                               << 
1333           If unsure, say N here.              << 
1334                                               << 
1335 config SCHED_AUTOGROUP                        << 
1336         bool "Automatic process group schedul << 
1337         select CGROUPS                        << 
1338         select CGROUP_SCHED                   << 
1339         select FAIR_GROUP_SCHED               << 
1340         help                                  << 
1341           This option optimizes the scheduler << 
1342           automatically creating and populati << 
1343           of workloads isolates aggressive CP << 
1344           desktop applications.  Task group a << 
1345           upon task session.                  << 
1346                                               << 
1347 config RELAY                                  << 
1348         bool "Kernel->user space relay suppor << 
1349         select IRQ_WORK                       << 
1350         help                                  << 
1351           This option enables support for rel << 
1352           certain file systems (such as debug << 
1353           It is designed to provide an effici << 
1354           facilities to relay large amounts o << 
1355           user space.                         << 
1356                                               << 
1357           If unsure, say N.                   << 
1358                                               << 
1359 config BLK_DEV_INITRD                         << 
1360         bool "Initial RAM filesystem and RAM  << 
1361         help                                  << 
1362           The initial RAM filesystem is a ram << 
1363           boot loader (loadlin or lilo) and t << 
1364           before the normal boot procedure. I << 
1365           load modules needed to mount the "r << 
1366           etc. See <file:Documentation/admin- << 
1367                                               << 
1368           If RAM disk support (BLK_DEV_RAM) i << 
1369           also enables initial RAM disk (init << 
1370           15 Kbytes (more on some other archi << 
1371                                               << 
1372           If unsure say Y.                    << 
1373                                               << 
1374 if BLK_DEV_INITRD                             << 
1375                                               << 
1376 source "usr/Kconfig"                          << 
1377                                               << 
1378 endif                                         << 
1379                                               << 
1380 config BOOT_CONFIG                            << 
1381         bool "Boot config support"            << 
1382         select BLK_DEV_INITRD if !BOOT_CONFIG << 
1383         help                                  << 
1384           Extra boot config allows system adm << 
1385           complemental extension of kernel cm << 
1386           The boot config file must be attach << 
1387           with checksum, size and magic word. << 
1388           See <file:Documentation/admin-guide << 
1389                                               << 
1390           If unsure, say Y.                   << 
1391                                               << 
1392 config BOOT_CONFIG_FORCE                      << 
1393         bool "Force unconditional bootconfig  << 
1394         depends on BOOT_CONFIG                << 
1395         default y if BOOT_CONFIG_EMBED        << 
1396         help                                  << 
1397           With this Kconfig option set, BOOT_ << 
1398           out even when the "bootconfig" kern << 
1399           In fact, with this Kconfig option s << 
1400           make the kernel ignore the BOOT_CON << 
1401           parameters.                         << 
1402                                               << 
1403           If unsure, say N.                   << 
1404                                               << 
1405 config BOOT_CONFIG_EMBED                      << 
1406         bool "Embed bootconfig file in the ke << 
1407         depends on BOOT_CONFIG                << 
1408         help                                  << 
1409           Embed a bootconfig file given by BO << 
1410           kernel. Usually, the bootconfig fil << 
1411           image. But if the system doesn't su << 
1412           help you by embedding a bootconfig  << 
1413                                               << 
1414           If unsure, say N.                   << 
1415                                               << 
1416 config BOOT_CONFIG_EMBED_FILE                 << 
1417         string "Embedded bootconfig file path << 
1418         depends on BOOT_CONFIG_EMBED          << 
1419         help                                  << 
1420           Specify a bootconfig file which wil << 
1421           This bootconfig will be used if the << 
1422           bootconfig in the initrd.           << 
1423                                               << 
1424 config INITRAMFS_PRESERVE_MTIME               << 
1425         bool "Preserve cpio archive mtimes in << 
1426         default y                             << 
1427         help                                  << 
1428           Each entry in an initramfs cpio arc << 
1429           enabled, extracted cpio items take  << 
1430           setting deferred until after creati << 
1431                                               << 
1432           If unsure, say Y.                   << 
1433                                               << 
1434 choice                                        << 
1435         prompt "Compiler optimization level"  << 
1436         default CC_OPTIMIZE_FOR_PERFORMANCE   << 
1437                                               << 
1438 config CC_OPTIMIZE_FOR_PERFORMANCE            << 
1439         bool "Optimize for performance (-O2)" << 
1440         help                                  << 
1441           This is the default optimization le << 
1442           with the "-O2" compiler flag for be << 
1443           helpful compile-time warnings.      << 
1444                                               << 
1445 config CC_OPTIMIZE_FOR_SIZE                   << 
1446         bool "Optimize for size (-Os)"        << 
1447         help                                  << 
1448           Choosing this option will pass "-Os << 
1449           in a smaller kernel.                << 
1450                                               << 
1451 endchoice                                     << 
1452                                               << 
1453 config HAVE_LD_DEAD_CODE_DATA_ELIMINATION     << 
1454         bool                                  << 
1455         help                                  << 
1456           This requires that the arch annotat << 
1457           its external entry points from bein << 
1458           must also merge .text.*, .data.*, a << 
1459           output sections. Care must be taken << 
1460           sections (e.g., '.text.init'). Typi << 
1461           is used to distinguish them from la << 
1462                                               << 
1463 config LD_DEAD_CODE_DATA_ELIMINATION          << 
1464         bool "Dead code and data elimination  << 
1465         depends on HAVE_LD_DEAD_CODE_DATA_ELI << 
1466         depends on EXPERT                     << 
1467         depends on $(cc-option,-ffunction-sec << 
1468         depends on $(ld-option,--gc-sections) << 
1469         help                                  << 
1470           Enable this if you want to do dead  << 
1471           the linker by compiling with -ffunc << 
1472           and linking with --gc-sections.     << 
1473                                               << 
1474           This can reduce on disk and in-memo << 
1475           code and static data, particularly  << 
1476           on small systems. This has the poss << 
1477           silently broken kernel if the requi << 
1478           present. This option is not well te << 
1479           own risk.                           << 
1480                                               << 
1481 config LD_ORPHAN_WARN                         << 
1482         def_bool y                            << 
1483         depends on ARCH_WANT_LD_ORPHAN_WARN   << 
1484         depends on $(ld-option,--orphan-handl << 
1485         depends on $(ld-option,--orphan-handl << 
1486                                               << 
1487 config LD_ORPHAN_WARN_LEVEL                   << 
1488         string                                << 
1489         depends on LD_ORPHAN_WARN             << 
1490         default "error" if WERROR             << 
1491         default "warn"                        << 
1492                                               << 
1493 config SYSCTL                                 << 
1494         bool                                  << 
1495                                               << 
1496 config HAVE_UID16                             << 
1497         bool                                  << 
1498                                               << 
1499 config SYSCTL_EXCEPTION_TRACE                 << 
1500         bool                                  << 
1501         help                                  << 
1502           Enable support for /proc/sys/debug/ << 
1503                                               << 
1504 config SYSCTL_ARCH_UNALIGN_NO_WARN            << 
1505         bool                                  << 
1506         help                                  << 
1507           Enable support for /proc/sys/kernel << 
1508           Allows arch to define/use @no_unali << 
1509           about unaligned access emulation go << 
1510                                               << 
1511 config SYSCTL_ARCH_UNALIGN_ALLOW              << 
1512         bool                                  << 
1513         help                                  << 
1514           Enable support for /proc/sys/kernel << 
1515           Allows arches to define/use @unalig << 
1516           the unaligned access emulation.     << 
1517           see arch/parisc/kernel/unaligned.c  << 
1518                                               << 
1519 config HAVE_PCSPKR_PLATFORM                   << 
1520         bool                                  << 
1521                                               << 
1522 menuconfig EXPERT                             << 
1523         bool "Configure standard kernel featu << 
1524         # Unhide debug options, to make the o << 
1525         select DEBUG_KERNEL                   << 
1526         help                                  << 
1527           This option allows certain base ker << 
1528           to be disabled or tweaked. This is  << 
1529           environments which can tolerate a " << 
1530           Only use this if you really know wh << 
1531                                               << 
1532 config UID16                                  << 
1533         bool "Enable 16-bit UID system calls" << 
1534         depends on HAVE_UID16 && MULTIUSER    << 
1535         default y                             << 
1536         help                                  << 
1537           This enables the legacy 16-bit UID  << 
1538                                               << 
1539 config MULTIUSER                              << 
1540         bool "Multiple users, groups and capa << 
1541         default y                             << 
1542         help                                  << 
1543           This option enables support for non << 
1544           capabilities.                       << 
1545                                               << 
1546           If you say N here, all processes wi << 
1547           possible capabilities.  Saying N he << 
1548           system calls related to UIDs, GIDs, << 
1549           setgid, and capset.                 << 
1550                                               << 
1551           If unsure, say Y here.              << 
1552                                               << 
1553 config SGETMASK_SYSCALL                       << 
1554         bool "sgetmask/ssetmask syscalls supp << 
1555         default PARISC || M68K || PPC || MIPS << 
1556         help                                  << 
1557           sys_sgetmask and sys_ssetmask are o << 
1558           no longer supported in libc but sti << 
1559           architectures.                      << 
1560                                               << 
1561           If unsure, leave the default option << 
1562                                               << 
1563 config SYSFS_SYSCALL                          << 
1564         bool "Sysfs syscall support" if EXPER << 
1565         default y                             << 
1566         help                                  << 
1567           sys_sysfs is an obsolete system cal << 
1568           Note that disabling this option is  << 
1569           compatibility with some systems.    << 
1570                                               << 
1571           If unsure say Y here.               << 
1572                                               << 
1573 config FHANDLE                                << 
1574         bool "open by fhandle syscalls" if EX << 
1575         select EXPORTFS                       << 
1576         default y                             << 
1577         help                                  << 
1578           If you say Y here, a user level pro << 
1579           file names to handle and then later << 
1580           different file system operations. T << 
1581           userspace file servers, which now t << 
1582           of names. The handle would remain t << 
1583           get renamed. Enables open_by_handle << 
1584           syscalls.                           << 
1585                                               << 
1586 config POSIX_TIMERS                           << 
1587         bool "Posix Clocks & timers" if EXPER << 
1588         default y                             << 
1589         help                                  << 
1590           This includes native support for PO << 
1591           Some embedded systems have no use f << 
1592           can be configured out to reduce the << 
1593                                               << 
1594           When this option is disabled, the f << 
1595           available: timer_create, timer_gett << 
1596           timer_settime, timer_delete, clock_ << 
1597           setitimer, alarm. Furthermore, the  << 
1598           clock_getres and clock_nanosleep sy << 
1599           CLOCK_REALTIME, CLOCK_MONOTONIC and << 
1600                                               << 
1601           If unsure say y.                    << 
1602                                               << 
1603 config PRINTK                                 << 
1604         default y                             << 
1605         bool "Enable support for printk" if E << 
1606         select IRQ_WORK                       << 
1607         help                                  << 
1608           This option enables normal printk s << 
1609           eliminates most of the message stri << 
1610           and makes the kernel more or less s << 
1611           very difficult to diagnose system p << 
1612           strongly discouraged.               << 
1613                                               << 
1614 config BUG                                    << 
1615         bool "BUG() support" if EXPERT        << 
1616         default y                             << 
1617         help                                  << 
1618           Disabling this option eliminates su << 
1619           the size of your kernel image and p << 
1620           numerous fatal conditions. You shou << 
1621           option for embedded systems with no << 
1622           Just say Y.                         << 
1623                                               << 
1624 config ELF_CORE                               << 
1625         depends on COREDUMP                   << 
1626         default y                             << 
1627         bool "Enable ELF core dumps" if EXPER << 
1628         help                                  << 
1629           Enable support for generating core  << 
1630                                               << 
1631                                               << 
1632 config PCSPKR_PLATFORM                        << 
1633         bool "Enable PC-Speaker support" if E << 
1634         depends on HAVE_PCSPKR_PLATFORM       << 
1635         select I8253_LOCK                     << 
1636         default y                             << 
1637         help                                  << 
1638           This option allows to disable the i << 
1639           support, saving some memory.        << 
1640                                               << 
1641 config BASE_SMALL                             << 
1642         bool "Enable smaller-sized data struc << 
1643         help                                  << 
1644           Enabling this option reduces the si << 
1645           kernel data structures. This saves  << 
1646           but may reduce performance.         << 
1647                                                  181 
1648 config FUTEX                                     182 config FUTEX
1649         bool "Enable futex support" if EXPERT !! 183         bool "Enable futex support" if EMBEDDED
1650         depends on !(SPARC32 && SMP)          << 
1651         default y                                184         default y
1652         imply RT_MUTEXES                      << 
1653         help                                     185         help
1654           Disabling this option will cause th    186           Disabling this option will cause the kernel to be built without
1655           support for "fast userspace mutexes    187           support for "fast userspace mutexes".  The resulting kernel may not
1656           run glibc-based applications correc    188           run glibc-based applications correctly.
1657                                                  189 
1658 config FUTEX_PI                               << 
1659         bool                                  << 
1660         depends on FUTEX && RT_MUTEXES        << 
1661         default y                             << 
1662                                               << 
1663 config EPOLL                                     190 config EPOLL
1664         bool "Enable eventpoll support" if EX !! 191         bool "Enable eventpoll support" if EMBEDDED
1665         default y                                192         default y
1666         help                                     193         help
1667           Disabling this option will cause th    194           Disabling this option will cause the kernel to be built without
1668           support for epoll family of system     195           support for epoll family of system calls.
1669                                                  196 
1670 config SIGNALFD                               !! 197 source "drivers/block/Kconfig.iosched"
1671         bool "Enable signalfd() system call"  << 
1672         default y                             << 
1673         help                                  << 
1674           Enable the signalfd() system call t << 
1675           on a file descriptor.               << 
1676                                               << 
1677           If unsure, say Y.                   << 
1678                                                  198 
1679 config TIMERFD                                !! 199 endmenu         # General setup
1680         bool "Enable timerfd() system call" i << 
1681         default y                             << 
1682         help                                  << 
1683           Enable the timerfd() system call th << 
1684           events on a file descriptor.        << 
1685                                               << 
1686           If unsure, say Y.                   << 
1687                                               << 
1688 config EVENTFD                                << 
1689         bool "Enable eventfd() system call" i << 
1690         default y                             << 
1691         help                                  << 
1692           Enable the eventfd() system call th << 
1693           kernel notification (ie. KAIO) or u << 
1694                                               << 
1695           If unsure, say Y.                   << 
1696                                               << 
1697 config SHMEM                                  << 
1698         bool "Use full shmem filesystem" if E << 
1699         default y                             << 
1700         depends on MMU                        << 
1701         help                                  << 
1702           The shmem is an internal filesystem << 
1703           It is backed by swap and manages re << 
1704           to userspace as tmpfs if TMPFS is e << 
1705           option replaces shmem and tmpfs wit << 
1706           which may be appropriate on small s << 
1707                                               << 
1708 config AIO                                    << 
1709         bool "Enable AIO support" if EXPERT   << 
1710         default y                             << 
1711         help                                  << 
1712           This option enables POSIX asynchron << 
1713           by some high performance threaded a << 
1714           this option saves about 7k.         << 
1715                                               << 
1716 config IO_URING                               << 
1717         bool "Enable IO uring support" if EXP << 
1718         select IO_WQ                          << 
1719         default y                             << 
1720         help                                  << 
1721           This option enables support for the << 
1722           applications to submit and complete << 
1723           completion rings that are shared be << 
1724                                               << 
1725 config GCOV_PROFILE_URING                     << 
1726         bool "Enable GCOV profiling on the io << 
1727         depends on GCOV_KERNEL                << 
1728         help                                  << 
1729           Enable GCOV profiling on the io_uri << 
1730           code coverage testing.              << 
1731                                               << 
1732           If unsure, say N.                   << 
1733                                                  200 
1734           Note that this will have a negative << 
1735           the io_uring subsystem, hence this  << 
1736           specific test purposes.             << 
1737                                                  201 
1738 config ADVISE_SYSCALLS                        !! 202 menu "Loadable module support"
1739         bool "Enable madvise/fadvise syscalls << 
1740         default y                             << 
1741         help                                  << 
1742           This option enables the madvise and << 
1743           applications to advise the kernel a << 
1744           usage, improving performance. If bu << 
1745           applications use these syscalls, yo << 
1746           space.                              << 
1747                                                  203 
1748 config MEMBARRIER                             !! 204 config MODULES
1749         bool "Enable membarrier() system call !! 205         bool "Enable loadable module support"
1750         default y                             << 
1751         help                                     206         help
1752           Enable the membarrier() system call !! 207           Kernel modules are small pieces of compiled code which can
1753           barriers across all running threads !! 208           be inserted in the running kernel, rather than being
1754           the cost of user-space memory barri !! 209           permanently built into the kernel.  You use the "modprobe"
1755           pairs of memory barriers into pairs !! 210           tool to add (and sometimes remove) them.  If you say Y here,
1756           compiler barrier.                   !! 211           many parts of the kernel can be built as modules (by
                                                   >> 212           answering M instead of Y where indicated): this is most
                                                   >> 213           useful for infrequently used options which are not required
                                                   >> 214           for booting.  For more information, see the man pages for
                                                   >> 215           modprobe, lsmod, modinfo, insmod and rmmod.
                                                   >> 216 
                                                   >> 217           If you say Y here, you will need to run "make
                                                   >> 218           modules_install" to put the modules under /lib/modules/
                                                   >> 219           where modprobe can find them (you may need to be root to do
                                                   >> 220           this).
1757                                                  221 
1758           If unsure, say Y.                      222           If unsure, say Y.
1759                                                  223 
1760 config KCMP                                   !! 224 config MODULE_UNLOAD
1761         bool "Enable kcmp() system call" if E !! 225         bool "Module unloading"
1762         help                                  !! 226         depends on MODULES
1763           Enable the kernel resource comparis !! 227         help
1764           user-space with the ability to comp !! 228           Without this option you will not be able to unload any
1765           share a common resource, such as a  !! 229           modules (note that some modules may not be unloadable
1766           memory space.                       !! 230           anyway), which makes your kernel slightly smaller and
1767                                               !! 231           simpler.  If unsure, say Y.
                                                   >> 232 
                                                   >> 233 config MODULE_FORCE_UNLOAD
                                                   >> 234         bool "Forced module unloading"
                                                   >> 235         depends on MODULE_UNLOAD && EXPERIMENTAL
                                                   >> 236         help
                                                   >> 237           This option allows you to force a module to unload, even if the
                                                   >> 238           kernel believes it is unsafe: the kernel will remove the module
                                                   >> 239           without waiting for anyone to stop using it (using the -f option to
                                                   >> 240           rmmod).  This is mainly for kernel developers and desperate users.
1768           If unsure, say N.                      241           If unsure, say N.
1769                                                  242 
1770 config RSEQ                                   !! 243 config OBSOLETE_MODPARM
1771         bool "Enable rseq() system call" if E !! 244         bool
1772         default y                                245         default y
1773         depends on HAVE_RSEQ                  !! 246         depends on MODULES
1774         select MEMBARRIER                     << 
1775         help                                     247         help
1776           Enable the restartable sequences sy !! 248           You need this option to use module parameters on modules which
1777           user-space cache for the current CP !! 249           have not been converted to the new module parameter system yet.
1778           speeds up getting the current CPU n << 
1779           as well as an ABI to speed up user- << 
1780           per-CPU data.                       << 
1781                                               << 
1782           If unsure, say Y.                      250           If unsure, say Y.
1783                                                  251 
1784 config DEBUG_RSEQ                             !! 252 config MODVERSIONS
1785         default n                             !! 253         bool "Module versioning support (EXPERIMENTAL)"
1786         bool "Enable debugging of rseq() syst !! 254         depends on MODULES && EXPERIMENTAL
1787         depends on RSEQ && DEBUG_KERNEL       !! 255         help
1788         help                                  !! 256           Usually, you have to use modules compiled with your kernel.
1789           Enable extra debugging checks for t !! 257           Saying Y here makes it sometimes possible to use modules
1790                                               !! 258           compiled for different kernels, by adding enough information
1791           If unsure, say N.                   !! 259           to the modules to (hopefully) spot any changes which would
1792                                               !! 260           make them incompatible with the kernel you are running.  If
1793 config CACHESTAT_SYSCALL                      !! 261           unsure, say N.
1794         bool "Enable cachestat() system call" !! 262 
1795         default y                             !! 263 config KMOD
1796         help                                  !! 264         bool "Automatic kernel module loading"
1797           Enable the cachestat system call, w !! 265         depends on MODULES
1798           statistics of a file (number of cac !! 266         help
1799           pages marked for writeback, (recent !! 267           Normally when you have selected some parts of the kernel to
1800                                               !! 268           be created as kernel modules, you must load them (using the
1801           If unsure say Y here.               !! 269           "modprobe" command) before you can use them. If you say Y
1802                                               !! 270           here, some parts of the kernel will be able to load modules
1803 config PC104                                  !! 271           automatically: when a part of the kernel needs a module, it
1804         bool "PC/104 support" if EXPERT       !! 272           runs modprobe with the appropriate arguments, thereby
1805         help                                  !! 273           loading the module if it is available.  If unsure, say Y.
1806           Expose PC/104 form factor device dr << 
1807           selection and configuration. Enable << 
1808           machine has a PC/104 bus.           << 
1809                                               << 
1810 config KALLSYMS                               << 
1811         bool "Load all symbols for debugging/ << 
1812         default y                             << 
1813         help                                  << 
1814           Say Y here to let the kernel print  << 
1815           symbolic stack backtraces. This inc << 
1816           somewhat, as all symbols have to be << 
1817                                               << 
1818 config KALLSYMS_SELFTEST                      << 
1819         bool "Test the basic functions and pe << 
1820         depends on KALLSYMS                   << 
1821         default n                             << 
1822         help                                  << 
1823           Test the basic functions and perfor << 
1824           kallsyms_lookup_name. It also calcu << 
1825           kallsyms compression algorithm for  << 
1826                                               << 
1827           Start self-test automatically after << 
1828           "dmesg | grep kallsyms_selftest" to << 
1829           displayed in the last line, indicat << 
1830                                               << 
1831 config KALLSYMS_ALL                           << 
1832         bool "Include all symbols in kallsyms << 
1833         depends on DEBUG_KERNEL && KALLSYMS   << 
1834         help                                  << 
1835           Normally kallsyms only contains the << 
1836           OOPS messages and backtraces (i.e., << 
1837           sections). This is sufficient for m << 
1838           enable kernel live patching, or oth << 
1839           when a debugger is used) all symbol << 
1840           variables from the data sections, e << 
1841                                               << 
1842           This option makes sure that all sym << 
1843           image (i.e., symbols from all secti << 
1844           size (depending on the kernel confi << 
1845           something like this).               << 
1846                                               << 
1847           Say N unless you really need all sy << 
1848                                               << 
1849 config KALLSYMS_ABSOLUTE_PERCPU               << 
1850         bool                                  << 
1851         depends on KALLSYMS                   << 
1852         default X86_64 && SMP                 << 
1853                                               << 
1854 # end of the "standard kernel features (exper << 
1855                                               << 
1856 config ARCH_HAS_MEMBARRIER_CALLBACKS          << 
1857         bool                                  << 
1858                                               << 
1859 config ARCH_HAS_MEMBARRIER_SYNC_CORE          << 
1860         bool                                  << 
1861                                               << 
1862 config HAVE_PERF_EVENTS                       << 
1863         bool                                  << 
1864         help                                  << 
1865           See tools/perf/design.txt for detai << 
1866                                               << 
1867 config GUEST_PERF_EVENTS                      << 
1868         bool                                  << 
1869         depends on HAVE_PERF_EVENTS           << 
1870                                               << 
1871 config PERF_USE_VMALLOC                       << 
1872         bool                                  << 
1873         help                                  << 
1874           See tools/perf/design.txt for detai << 
1875                                               << 
1876 menu "Kernel Performance Events And Counters" << 
1877                                               << 
1878 config PERF_EVENTS                            << 
1879         bool "Kernel performance events and c << 
1880         default y if PROFILING                << 
1881         depends on HAVE_PERF_EVENTS           << 
1882         select IRQ_WORK                       << 
1883         help                                  << 
1884           Enable kernel support for various p << 
1885           by software and hardware.           << 
1886                                               << 
1887           Software events are supported eithe << 
1888           use of generic tracepoints.         << 
1889                                               << 
1890           Most modern CPUs support performanc << 
1891           counter registers. These registers  << 
1892           types of hw events: such as instruc << 
1893           suffered, or branches mis-predicted << 
1894           kernel or applications. These regis << 
1895           when a threshold number of events h << 
1896           used to profile the code that runs  << 
1897                                               << 
1898           The Linux Performance Event subsyst << 
1899           these software and hardware event c << 
1900           system call and used by the "perf"  << 
1901           provides per task and per CPU count << 
1902           capabilities on top of those.       << 
1903                                               << 
1904           Say Y if unsure.                    << 
1905                                               << 
1906 config DEBUG_PERF_USE_VMALLOC                 << 
1907         default n                             << 
1908         bool "Debug: use vmalloc to back perf << 
1909         depends on PERF_EVENTS && DEBUG_KERNE << 
1910         select PERF_USE_VMALLOC               << 
1911         help                                  << 
1912           Use vmalloc memory to back perf mma << 
1913                                               << 
1914           Mostly useful for debugging the vma << 
1915           that don't require it.              << 
1916                                               << 
1917           Say N if unsure.                    << 
1918                                                  274 
1919 endmenu                                          275 endmenu
1920                                               << 
1921 config SYSTEM_DATA_VERIFICATION               << 
1922         def_bool n                            << 
1923         select SYSTEM_TRUSTED_KEYRING         << 
1924         select KEYS                           << 
1925         select CRYPTO                         << 
1926         select CRYPTO_RSA                     << 
1927         select ASYMMETRIC_KEY_TYPE            << 
1928         select ASYMMETRIC_PUBLIC_KEY_SUBTYPE  << 
1929         select ASN1                           << 
1930         select OID_REGISTRY                   << 
1931         select X509_CERTIFICATE_PARSER        << 
1932         select PKCS7_MESSAGE_PARSER           << 
1933         help                                  << 
1934           Provide PKCS#7 message verification << 
1935           trusted keyring to provide public k << 
1936           module verification, kexec image ve << 
1937           verification.                       << 
1938                                               << 
1939 config PROFILING                              << 
1940         bool "Profiling support"              << 
1941         help                                  << 
1942           Say Y here to enable the extended p << 
1943           by profilers.                       << 
1944                                               << 
1945 config RUST                                   << 
1946         bool "Rust support"                   << 
1947         depends on HAVE_RUST                  << 
1948         depends on RUST_IS_AVAILABLE          << 
1949         depends on !MODVERSIONS               << 
1950         depends on !GCC_PLUGIN_RANDSTRUCT     << 
1951         depends on !RANDSTRUCT                << 
1952         depends on !DEBUG_INFO_BTF || PAHOLE_ << 
1953         depends on !CFI_CLANG || HAVE_CFI_ICA << 
1954         select CFI_ICALL_NORMALIZE_INTEGERS i << 
1955         depends on !CALL_PADDING || RUSTC_VER << 
1956         depends on !KASAN_SW_TAGS             << 
1957         depends on !(MITIGATION_RETHUNK && KA << 
1958         help                                  << 
1959           Enables Rust support in the kernel. << 
1960                                               << 
1961           This allows other Rust-related opti << 
1962           to be selected.                     << 
1963                                               << 
1964           It is also required to be able to l << 
1965           written in Rust.                    << 
1966                                               << 
1967           See Documentation/rust/ for more in << 
1968                                               << 
1969           If unsure, say N.                   << 
1970                                               << 
1971 config RUSTC_VERSION_TEXT                     << 
1972         string                                << 
1973         depends on RUST                       << 
1974         default "$(RUSTC_VERSION_TEXT)"       << 
1975         help                                  << 
1976           See `CC_VERSION_TEXT`.              << 
1977                                               << 
1978 config BINDGEN_VERSION_TEXT                   << 
1979         string                                << 
1980         depends on RUST                       << 
1981         # The dummy parameter `workaround-for << 
1982         # (https://github.com/rust-lang/rust- << 
1983         # the minimum version is upgraded pas << 
1984         default "$(shell,$(BINDGEN) --version << 
1985                                               << 
1986 #                                             << 
1987 # Place an empty function call at each tracep << 
1988 # dynamically changed for a probe function.   << 
1989 #                                             << 
1990 config TRACEPOINTS                            << 
1991         bool                                  << 
1992                                               << 
1993 source "kernel/Kconfig.kexec"                 << 
1994                                               << 
1995 endmenu         # General setup               << 
1996                                               << 
1997 source "arch/Kconfig"                         << 
1998                                               << 
1999 config RT_MUTEXES                             << 
2000         bool                                  << 
2001         default y if PREEMPT_RT               << 
2002                                               << 
2003 config MODULE_SIG_FORMAT                      << 
2004         def_bool n                            << 
2005         select SYSTEM_DATA_VERIFICATION       << 
2006                                               << 
2007 source "kernel/module/Kconfig"                << 
2008                                               << 
2009 config INIT_ALL_POSSIBLE                      << 
2010         bool                                  << 
2011         help                                  << 
2012           Back when each arch used to define  << 
2013           cpu_possible_mask, some of them cho << 
2014           with all 1s, and others with all 0s << 
2015           it was better to provide this optio << 
2016           and have several arch maintainers p << 
2017                                               << 
2018 source "block/Kconfig"                        << 
2019                                               << 
2020 config PREEMPT_NOTIFIERS                      << 
2021         bool                                  << 
2022                                               << 
2023 config PADATA                                 << 
2024         depends on SMP                        << 
2025         bool                                  << 
2026                                               << 
2027 config ASN1                                   << 
2028         tristate                              << 
2029         help                                  << 
2030           Build a simple ASN.1 grammar compil << 
2031           that can be interpreted by the ASN. << 
2032           inform it as to what tags are to be << 
2033           functions to call on what tags.     << 
2034                                               << 
2035 source "kernel/Kconfig.locks"                 << 
2036                                               << 
2037 config ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE << 
2038         bool                                  << 
2039                                               << 
2040 config ARCH_HAS_PREPARE_SYNC_CORE_CMD         << 
2041         bool                                  << 
2042                                               << 
2043 config ARCH_HAS_SYNC_CORE_BEFORE_USERMODE     << 
2044         bool                                  << 
2045                                               << 
2046 # It may be useful for an architecture to ove << 
2047 # SYSCALL_DEFINE() and __SYSCALL_DEFINEx() ma << 
2048 # and the COMPAT_ variants in <linux/compat.h << 
2049 # different calling convention for syscalls.  << 
2050 # macros for not-implemented syscalls in kern << 
2051 # kernel/time/posix-stubs.c. All these overri << 
2052 # <asm/syscall_wrapper.h>.                    << 
2053 config ARCH_HAS_SYSCALL_WRAPPER               << 
2054         def_bool n                            << 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php