Lines Matching +full:default +full:- +full:on
1 # SPDX-License-Identifier: GPL-2.0-only
4 default "$(CC_VERSION_TEXT)"
8 - Re-run Kconfig when the compiler is updated
9 The 'default' property references the environment variable,
13 - Ensure full rebuild when the compiler is updated
14 include/linux/compiler-version.h contains this option in the comment
16 auto-generated dependency. When the compiler is updated, syncconfig
20 def_bool $(success,test "$(cc-name)" = GCC)
24 default $(cc-version) if CC_IS_GCC
25 default 0
28 def_bool $(success,test "$(cc-name)" = Clang)
32 default $(cc-version) if CC_IS_CLANG
33 default 0
36 def_bool $(success,test "$(as-name)" = GNU)
39 def_bool $(success,test "$(as-name)" = LLVM)
44 default CLANG_VERSION if AS_IS_LLVM
45 default $(as-version)
48 def_bool $(success,test "$(ld-name)" = BFD)
52 default $(ld-version) if LD_IS_BFD
53 default 0
56 def_bool $(success,test "$(ld-name)" = LLD)
60 default $(ld-version) if LD_IS_LLD
61 default 0
65 default $(rustc-version)
67 It does not depend on `RUST` since that one may need to use the version
68 in a `depends on`.
75 Please see Documentation/rust/quick-start.rst for instructions on how
83 default $(rustc-llvm-version)
87 …default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
88 …default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
94 depends on CC_IS_GCC
95 default y if GCC_VERSION < 110500
96 default y if GCC_VERSION >= 120000 && GCC_VERSION < 120400
97 default y if GCC_VERSION >= 130000 && GCC_VERSION < 130300
101 depends on !GCC_ASM_GOTO_OUTPUT_BROKEN
103 …depends on $(success,echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return …
105 …on $(success,echo 'void b(void **);void* c(void);int f(void){{asm goto(""::::l0);return 0;l0:retur…
108 depends on CC_HAS_ASM_GOTO_OUTPUT
109 # Detect buggy gcc and clang, fixed in gcc-11 clang-14.
110 …foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $…
113 …env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)
116 def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
122 # https://github.com/llvm/llvm-project/commit/c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
123 default y if CC_IS_CLANG && CLANG_VERSION >= 190100
126 default y if CC_IS_GCC && GCC_VERSION >= 130100
129 … '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
136 # https://github.com/llvm/llvm-project/commit/160fb1121cdf703c3ef5e61fb26c5659eb581489
137 default y if CC_IS_CLANG && CLANG_VERSION >= 200100
140 default y if CC_IS_GCC && GCC_VERSION >= 150100
143 …[][4] __attribute__((__nonstring__)) = { };' | $(CC) $(CLANG_FLAGS) -x c - -c -o /dev/null -Werror)
147 # https://github.com/llvm/llvm-project/pull/130661
167 default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
199 depends on BROKEN || !SMP
200 default y
204 default 32 if !UML
205 default 128 if UML
212 depends on HAS_IOMEM
214 Some drivers can be compiled on a different platform than they are
215 intended to be run on. Despite they cannot be loaded there (or even
218 drivers to compile-test them.
226 default COMPILE_TEST
229 enables the '-Werror' (for C) and '-Dwarnings' (for Rust) flags
230 to enforce that rule by default. Certain warnings from other tools
243 depends on HEADERS_INSTALL && CC_CAN_LINK
245 Compile test headers exported to user-space to ensure they are
246 self-contained, i.e. compilable as standalone units.
249 headers are self-contained, say Y here. Otherwise, choose N.
252 string "Local version - append to kernel release"
263 default y
264 depends on !COMPILE_TEST
270 A string of the format -gxxxxxxxx will be added to the localversion
271 if a git-based tree is found. The string generated by this will be
278 $ git rev-parse --verify HEAD
284 default ""
289 build is unique between builds. It's safe to leave the default.
317 default KERNEL_GZIP
318 …depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KER…
320 The linux kernel is a kind of self-extracting executable.
332 are low on disk space (embedded systems), but for whom ram
339 depends on HAVE_KERNEL_GZIP
346 depends on HAVE_KERNEL_BZIP2
356 depends on HAVE_KERNEL_LZMA
364 depends on HAVE_KERNEL_XZ
369 comparison to gzip. On architectures for which there is a BCJ
370 filter (i386, x86_64, ARM, ARM64, RISC-V, big endian PowerPC,
380 depends on HAVE_KERNEL_LZO
388 depends on HAVE_KERNEL_LZ4
390 LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
400 depends on HAVE_KERNEL_ZSTD
410 depends on HAVE_KERNEL_UNCOMPRESSED
421 string "Default init path"
422 default ""
424 This option determines the default init for the system if no init=
425 option is passed on the kernel command line. If the requested path is
426 not present, we will still then move on to attempting further
431 string "Default hostname"
432 default "(none)"
434 This option determines the default system hostname before userspace
436 but you may wish to use a different default here to make a minimal
447 DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
456 depends on SYSVIPC
457 depends on SYSCTL
458 default y
462 depends on COMPAT && SYSVIPC
466 depends on NET
476 operations on message queues.
482 depends on POSIX_MQUEUE
483 depends on SYSCTL
484 default y
488 default n
496 See Documentation/core-api/watch_queue.rst
500 depends on MMU
501 default y
510 depends on NET
515 on architectures which support it.
522 depends on AUDIT && HAVE_ARCH_AUDITSYSCALL
537 default TICK_CPU_ACCOUNTING
542 depends on !S390 && !NO_HZ_FULL
545 statistics about user, system and idle time spent on per jiffies
552 depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL
556 accounting. This is done by reading a CPU counter on each
557 kernel entry and exit and on transitions within the kernel
560 this also enables accounting of stolen time on logically-partitioned
565 depends on HAVE_CONTEXT_TRACKING_USER
566 depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
567 depends on GENERIC_CLOCKEVENTS
571 Select this option to enable task and CPU time accounting on full
573 kernel-user boundaries using the context tracking subsystem.
577 For now this is only useful if you are working on the full
586 depends on HAVE_IRQ_TIME_ACCOUNTING && !VIRT_CPU_ACCOUNTING_NATIVE
589 accounting. This is done by reading a timestamp on each
597 depends on IRQ_TIME_ACCOUNTING || PARAVIRT_TIME_ACCOUNTING
598 depends on SMP
602 default y if ARM && ARM_CPU_TOPOLOGY
603 default y if ARM64
604 depends on SMP
605 depends on CPU_FREQ_THERMAL
614 i.e. put less load on throttled CPUs than on non/less throttled ones.
621 depends on MULTIUSER
635 depends on BSD_PROCESS_ACCT
636 default n
647 depends on NET
648 depends on MULTIUSER
649 default n
655 space on task exit.
660 bool "Enable per-task delay accounting"
661 depends on TASKSTATS
664 Collect information on time spent by a task waiting for system
673 depends on TASKSTATS
681 bool "Enable per-task storage I/O accounting"
682 depends on TASK_XACCT
684 Collect information on the number of bytes of storage I/O which this
711 default n
712 depends on PSI
715 per default but can be enabled through passing psi=1 on the
720 common scheduling-intense workloads in practice (such as
733 depends on SMP
734 default y
751 on-disk kernel. This information can be extracted from the kernel
752 image file with the script scripts/extract-ikconfig and used as
759 depends on IKCONFIG && PROC_FS
766 depends on SYSFS
768 This option enables access to the in-kernel headers that are generated during
771 kheaders.ko is built which can be loaded on-demand to get access to headers.
776 default 17
777 depends on PRINTK
794 depends on SMP
796 default 0 if BASE_SMALL
797 default 12
798 depends on PRINTK
800 This option allows to increase the default ring buffer size
807 the original static one is unused. It makes sense only on systems
809 contributions is greater than the half of the default kernel ring
810 buffer as defined by LOG_BUF_SHIFT. The default values are set
830 depends on PRINTK && DEBUG_FS
855 depends on CPU_FREQ_GOV_SCHEDUTIL
858 of each CPU based on RUNNABLE tasks scheduled on that CPU.
874 default 5
875 depends on UCLAMP_TASK
880 the precision of clamping aggregation and tracking at run-time.
886 If a second 30% boosted task should be co-scheduled on the same CPU,
895 CPU. If that should be considered not acceptable on certain systems,
897 clamp buckets to trade off used memory for run-time tracking
900 If in doubt, use the default value.
905 depends on !PREEMPT_RT
907 depends on !SCHED_CLASS_EXT
908 # Not particularly useful until we get to multi-rq proxying
909 depends on EXPERT
911 This option enables proxy execution, a mechanism for mutex-owning
917 # For architectures that want to enable the support for NUMA-affine scheduler
926 # must provide guarantees on what happens if a clean TLB cache entry is
934 def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0) && 64BIT
938 default "-Wimplicit-fallthrough=5" if CC_IS_GCC && $(cc-option,-Wimplicit-fallthrough=5)
939 default "-Wimplicit-fallthrough" if CC_IS_CLANG && $(cc-option,-Wunreachable-code-fallthrough)
941 # Currently, disable gcc-10+ array-bounds globally.
942 # It's still broken in gcc-13, so no upper bound yet.
948 default y if CC_IS_GCC && GCC_VERSION >= 90000 && GCC10_NO_ARRAY_BOUNDS
950 # Currently, disable -Wstringop-overflow for GCC globally.
956 default y if CC_IS_GCC && GCC_NO_STRINGOP_OVERFLOW
960 default y if CC_IS_GCC && !CC_NO_STRINGOP_OVERFLOW
969 # all cpu-local but of different latencies, such as SuperH.
976 depends on ARCH_SUPPORTS_NUMA_BALANCING
977 depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
978 depends on SMP && NUMA && MIGRATION && !PREEMPT_RT
981 The mechanism is quite primitive and is based on migrating memory when
982 it has references to the node the task is running on.
984 This system will be inactive on UMA systems.
988 default y
989 depends on NUMA_BALANCING
991 If set, automatic NUMA balancing will be enabled if running on a NUMA
1005 - Documentation/scheduler/sched-design-CFS.rst (CFS)
1006 - Documentation/admin-guide/cgroup-v1/ (features for grouping, isolation
1017 bool "Favor dynamic modification latency reduction by default"
1019 This option enables the "favordynmods" mount option by default
1021 as task migrations and controller on/offs at the cost of making
1037 depends on MEMCG
1038 depends on HAVE_NMI
1039 depends on !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !ARCH_HAVE_NMI_SAFE_CMPXCHG
1040 default y
1044 depends on MEMCG
1045 depends on HAVE_NMI
1046 depends on !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && ARCH_HAVE_NMI_SAFE_CMPXCHG
1047 default y
1051 depends on MEMCG
1052 default n
1068 depends on BLOCK
1069 default n
1078 block layer to implement upper limit in IO rates on a device.
1086 See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
1090 depends on MEMCG && BLK_CGROUP
1091 default y
1095 default n
1110 depends on CGROUP_SCHED
1112 default CGROUP_SCHED
1116 depends on FAIR_GROUP_SCHED
1118 default n
1124 See Documentation/scheduler/sched-bwc.rst for more information.
1128 depends on CGROUP_SCHED
1129 default n
1133 schedule realtime tasks for non-root users until you allocate
1135 See Documentation/scheduler/sched-rt-group.rst for more information.
1139 depends on RT_GROUP_SCHED
1140 default n
1142 When set, the RT group scheduling is disabled by default. The option
1150 depends on SCHED_CLASS_EXT && CGROUP_SCHED
1153 default y
1159 depends on SMP && RSEQ
1163 depends on CGROUP_SCHED
1164 depends on UCLAMP_TASK
1165 default n
1168 of each CPU based on RUNNABLE tasks currently scheduled on that CPU.
1177 specified task-specific clamp value is constrained by the cgroup
1214 memory usage based on the cgroup hierarchy.
1226 controller includes important in-kernel memory consumers per default.
1232 depends on HUGETLB_PAGE
1234 default n
1237 When you enable this, you can put a per cgroup limit on HugeTLB usage.
1248 depends on SMP
1254 This is primarily useful on large SMP or NUMA systems.
1260 depends on CPUSETS
1261 default n
1274 depends on CPUSETS_V1
1275 default y
1291 depends on PERF_EVENTS
1293 This option extends the perf per-cpu mode to restrict monitoring
1294 to threads which belong to the cgroup specified and run on the
1302 depends on BPF_SYSCALL
1308 In which context these programs are accessed depends on the type
1310 BPF_CGROUP_INET_INGRESS will be executed on the ingress path of
1315 default n
1317 Provides a controller for miscellaneous resources on a host.
1319 Miscellaneous scalar resources are the resources on the host system
1325 /Documentation/admin-guide/cgroup-v2.rst.
1329 default n
1330 depends on DEBUG_KERNEL
1341 default n
1347 depends on MULTIUSER
1348 default !EXPERT
1359 default y
1366 depends on GENERIC_GETTIMEOFDAY
1367 default y
1374 depends on (SYSVIPC || POSIX_MQUEUE)
1375 default y
1382 default n
1389 user-space use the memory control groups to limit the amount
1396 default y
1404 depends on NET
1405 default y
1414 depends on PROC_FS
1417 default n
1439 bool "Kernel->user space relay support (formerly relayfs)"
1457 etc. See <file:Documentation/admin-guide/initrd.rst> for details.
1461 15 Kbytes (more on some other architectures) to the kernel size.
1479 See <file:Documentation/admin-guide/bootconfig.rst> for details.
1485 depends on BOOT_CONFIG
1486 default y if BOOT_CONFIG_EMBED
1489 out even when the "bootconfig" kernel-boot parameter is omitted.
1491 make the kernel ignore the BOOT_CONFIG-supplied kernel-boot
1498 depends on BOOT_CONFIG
1509 depends on BOOT_CONFIG_EMBED
1517 depends on BLK_DEV_INITRD
1518 default y
1528 depends on BLK_DEV_INITRD && KUNIT=y
1529 default KUNIT_ALL_TESTS
1531 Build KUnit tests for initramfs. See Documentation/dev-tools/kunit
1535 default CC_OPTIMIZE_FOR_PERFORMANCE
1538 bool "Optimize for performance (-O2)"
1540 This is the default optimization level for the kernel, building
1541 with the "-O2" compiler flag for best performance and most
1542 helpful compile-time warnings.
1545 bool "Optimize for size (-Os)"
1547 Choosing this option will pass "-Os" to your compiler resulting
1564 depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
1565 depends on EXPERT
1566 depends on $(cc-option,-ffunction-sections -fdata-sections)
1567 depends on $(ld-option,--gc-sections)
1570 the linker by compiling with -ffunction-sections -fdata-sections,
1571 and linking with --gc-sections.
1573 This can reduce on disk and in-memory size of the kernel
1575 on small systems. This has the possibility of introducing
1582 depends on ARCH_WANT_LD_ORPHAN_WARN
1583 depends on $(ld-option,--orphan-handling=warn)
1584 depends on $(ld-option,--orphan-handling=error)
1588 depends on LD_ORPHAN_WARN
1589 default "error" if WERROR
1590 default "warn"
1601 Enable support for /proc/sys/debug/exception-trace.
1606 Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
1608 about unaligned access emulation going on under the hood.
1613 Enable support for /proc/sys/kernel/unaligned-trap
1620 default n
1633 # Unhide debug options, to make the on-by-default options visible
1638 environments which can tolerate a "non-standard" kernel.
1642 bool "Enable 16-bit UID system calls" if EXPERT
1643 depends on HAVE_UID16 && MULTIUSER
1644 default y
1646 This enables the legacy 16-bit UID syscall wrappers.
1650 default y
1652 This option enables support for non-root users, groups and
1664 default PARISC || M68K || PPC || MIPS || X86 || SPARC || MICROBLAZE || SUPERH
1667 no longer supported in libc but still enabled by default in some
1670 If unsure, leave the default option here.
1675 default y
1687 default y
1703 default y
1715 depends on PRINTK && KUNIT
1716 default KUNIT_ALL_TESTS
1720 For more information on KUnit and unit tests in general, please refer
1727 default y
1736 depends on COREDUMP
1737 default y
1744 bool "Enable PC-Speaker support" if EXPERT
1745 depends on HAVE_PCSPKR_PLATFORM
1747 default y
1749 This option allows to disable the internal PC-Speaker
1753 bool "Enable smaller-sized data structures for core" if EXPERT
1756 kernel data structures. This saves memory on small machines,
1761 depends on !(SPARC32 && SMP)
1762 default y
1767 run glibc-based applications correctly.
1771 depends on FUTEX && RT_MUTEXES
1772 default y
1776 depends on FUTEX && !BASE_SMALL && MMU
1777 default y
1781 depends on FUTEX && NUMA
1782 default y
1786 default y
1793 default y
1796 on a file descriptor.
1802 default y
1805 events on a file descriptor.
1811 default y
1820 default y
1821 depends on MMU
1827 which may be appropriate on small systems without swap.
1831 default y
1840 default y
1847 bool "Enable GCOV profiling on the io_uring subsystem"
1848 depends on IO_URING && GCOV_KERNEL
1850 Enable GCOV profiling on the io_uring subsystem, to facilitate
1855 Note that this will have a negative impact on the performance of
1861 default n
1862 depends on IO_URING
1872 default y
1882 default y
1886 the cost of user-space memory barriers asymmetrically by transforming
1896 user-space with the ability to compare two processes to see if they
1904 default y
1905 depends on HAVE_RSEQ
1909 user-space cache for the current CPU number value, which
1910 speeds up getting the current CPU number from user-space,
1911 as well as an ABI to speed up user-space operations on
1912 per-CPU data.
1917 default n
1919 depends on RSEQ && DEBUG_KERNEL
1927 default y
1937 default y
1945 depends on KALLSYMS
1946 default n
1952 Start self-test automatically after system startup. Suggest executing
1958 depends on DEBUG_KERNEL && KALLSYMS
1969 size (depending on the kernel configuration, it may be 300KiB or
1985 Control MSEAL_SYSTEM_MAPPINGS access based on architecture.
1987 A 64-bit kernel is required for the memory sealing feature.
2002 Documentation/userspace-api/mseal.rst
2011 depends on HAVE_PERF_EVENTS
2022 default y if PROFILING
2023 depends on HAVE_PERF_EVENTS
2029 Software events are supported either built-in or via the
2035 suffered, or branches mis-predicted - without slowing down the
2037 when a threshold number of events have passed - and can thus be
2038 used to profile the code that runs on that CPU.
2044 capabilities on top of those.
2049 default n
2051 depends on PERF_EVENTS && DEBUG_KERNEL && !PPC
2056 Mostly useful for debugging the vmalloc code on platforms
2089 depends on HAVE_RUST
2090 depends on RUST_IS_AVAILABLE
2092 depends on !MODVERSIONS || GENDWARFKSYMS
2093 depends on !GCC_PLUGIN_RANDSTRUCT
2094 depends on !RANDSTRUCT
2095 depends on !DEBUG_INFO_BTF || (PAHOLE_HAS_LANG_EXCLUDE && !LTO)
2096 depends on !CFI || HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
2098 depends on !CALL_PADDING || RUSTC_VERSION >= 108100
2099 depends on !KASAN_SW_TAGS
2100 depends on !(MITIGATION_RETHUNK && KASAN) || RUSTC_VERSION >= 108300
2104 This allows other Rust-related options, like drivers written in Rust,
2116 depends on RUST
2117 default "$(RUSTC_VERSION_TEXT)"
2123 depends on RUST
2124 # The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0
2125 # (https://github.com/rust-lang/rust-bindgen/pull/2678) and 0.71.0
2126 # (https://github.com/rust-lang/rust-bindgen/pull/3040). It can be removed
2129 default "$(shell,$(BINDGEN) --version workaround-for-0.69.0 2>/dev/null)"
2147 default y if PREEMPT_RT
2170 depends on SMP
2179 functions to call on what tags.
2196 # macros for not-implemented syscalls in kernel/sys_ni.c and
2197 # kernel/time/posix-stubs.c. All these overrides need to be available in