Lines Matching +full:required +full:- +full:for +full:- +full:hardware +full:- +full:jobs

1 # SPDX-License-Identifier: GPL-2.0-only
8 - Re-run Kconfig when the compiler is updated
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
28 def_bool $(success,test "$(cc-name)" = Clang)
32 default $(cc-version) if CC_IS_CLANG
36 def_bool $(success,test "$(as-name)" = GNU)
39 def_bool $(success,test "$(as-name)" = LLVM)
45 default $(as-version)
48 def_bool $(success,test "$(ld-name)" = BFD)
52 default $(ld-version) if LD_IS_BFD
56 def_bool $(success,test "$(ld-name)" = LLD)
60 default $(ld-version) if LD_IS_LLD
68 Please see Documentation/rust/quick-start.rst for instructions on how
76 …default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
77 …default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLA…
81 …efault $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAG…
82 …efault $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAG…
85 …nt x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | $(CC) -x c - -c -o /dev/null)
89 # Detect buggy gcc and clang, fixed in gcc-11 clang-14.
90 …foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $…
93 …env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)
96 def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
99 … '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
103 default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
150 drivers to compile-test them.
161 enables the '-Werror' (for C) and '-Dwarnings' (for Rust) flags
177 Compile test headers exported to user-space to ensure they are
178 self-contained, i.e. compilable as standalone units.
181 headers are self-contained, say Y here. Otherwise, choose N.
184 string "Local version - append to kernel release"
187 This will show up when you type uname, for example.
199 release tree by looking for git tags that belong to the current
202 A string of the format -gxxxxxxxx will be added to the localversion
203 if a git-based tree is found. The string generated by this will be
210 $ git rev-parse --verify HEAD
220 This is mostly useful for distributions which want to ensure the
252 The linux kernel is a kind of self-extracting executable.
260 version of this functionality (bzip2 only), for 2.4, was
263 High compression options are mostly useful for users, who
264 are low on disk space (embedded systems), but for whom ram
283 Bzip2 uses a large amount of memory. For modern kernels you
284 will need at least 8MB RAM or more for booting.
301 comparison to gzip. On architectures for which there is a BCJ
302 filter (i386, x86_64, ARM, IA-64, PowerPC, and SPARC), XZ
321 LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
336 will need at least 192 KB RAM or more for booting. The zstd command
337 line tool is required for compression.
344 you want. It is useful for debugging the kernel in slow simulation
355 This option determines the default init for the system if no init=
378 DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
402 programs written e.g. for Solaris with use of its POSIX message
422 This is a general notification queue for the kernel to pass events to
424 with watches for key/keyring change notifications and device
427 See Documentation/core-api/watch_queue.rst
437 See the man page for more details.
440 bool "uselib syscall (for libc5 and earlier)"
454 kernel subsystem, such as SELinux (which requires this for
480 # Kind of a stub config for the pure tick based cputime accounting
501 this also enables accounting of stolen time on logically-partitioned
514 kernel-user boundaries using the context tracking subsystem.
518 For now this is only useful if you are working on the full
583 for processing it. A preliminary version of these tools is available
592 Export selected statistics for tasks/processes through the
601 bool "Enable per-task delay accounting"
605 Collect information on time spent by a task waiting for system
608 relative to other tasks for cpu, io, rss limits etc.
617 to userland for processing over the taskstats interface.
622 bool "Enable per-task storage I/O accounting"
644 which aggregate pressure stalls for the grouped tasks only.
646 For more details see Documentation/accounting/psi.rst.
661 common scheduling-intense workloads in practice (such as
666 used for, say Y.
679 Unbound jobs get offloaded to housekeeping CPUs. This is driven by
692 on-disk kernel. This information can be extracted from the kernel
693 image file with the script scripts/extract-ikconfig and used as
709 This option enables access to the in-kernel headers that are generated during
712 kheaders.ko is built which can be loaded on-demand to get access to headers.
757 The number of possible CPUs is used for this computation ignoring
758 hotplugging making the computation optimal for the worst case
762 17 => 128 KB for each CPU
763 16 => 64 KB for each CPU
764 15 => 32 KB for each CPU
765 14 => 16 KB for each CPU
766 13 => 8 KB for each CPU
767 12 => 4 KB for each CPU
773 Add support for indexing of all printk formats known at compile time
795 bool "Enable utilization clamping for RT/FAIR tasks"
802 utilization allowed for RUNNABLE tasks. The max utilization defines
808 enforce or grant any specific bandwidth for tasks.
821 the precision of clamping aggregation and tracking at run-time.
823 For example, with the minimum configuration value we will have 5
827 If a second 30% boosted task should be co-scheduled on the same CPU,
838 clamp buckets to trade off used memory for run-time tracking
846 # For architectures that want to enable the support for NUMA-affine scheduler
853 # For architectures that prefer to flush all TLBs after a number of pages
856 # written after the unmap. Details are in mm/rmap.c near the check for
863 def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0) && 64BIT
867 default "-Wimplicit-fallthrough=5" if CC_IS_GCC && $(cc-option,-Wimplicit-fallthrough=5)
868 default "-Wimplicit-fallthrough" if CC_IS_CLANG && $(cc-option,-Wunreachable-code-fallthrough)
870 # Currently, disable gcc-11+ array-bounds globally.
871 # It's still broken in gcc-13, so no upper bound yet.
880 # For architectures that know their GCC __int128 support is sound
885 # For architectures that (ab)use NUMA to represent different memory regions
886 # all cpu-local but of different latencies, such as SuperH.
897 This option adds support for automatic NUMA aware memory/task placement.
915 This option adds support for grouping sets of processes together, for
919 - Documentation/scheduler/sched-design-CFS.rst (CFS)
920 - Documentation/admin-guide/cgroup-v1/ (features for grouping, isolation
967 One needs to also enable actual IO controlling logic/policy. For
969 CONFIG_BFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
972 See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.
989 bool "Group scheduling for SCHED_OTHER"
994 bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
998 This option allows users to define CPU bandwidth rates (limits) for
1002 See Documentation/scheduler/sched-bwc.rst for more information.
1005 bool "Group scheduling for SCHED_RR/FIFO"
1011 schedule realtime tasks for non-root users until you allocate
1012 realtime bandwidth for them.
1013 See Documentation/scheduler/sched-rt-group.rst for more information.
1031 CPU bandwidth which is allowed for each single task in a group.
1037 specified task-specific clamp value is constrained by the cgroup
1063 It is fairly easy for consumers to exhaust RDMA resources, which
1076 controller includes important in-kernel memory consumers per default.
1086 Provides a cgroup controller for HugeTLB pages.
1092 beforehand how much HugeTLB pages it would require for its use. The
1115 Provides a cgroup controller implementing whitelists for
1121 Provides a simple controller for monitoring the
1128 This option extends the perf per-cpu mode to restrict monitoring
1136 bool "Support for eBPF programs attached to cgroups"
1144 of attachment. For instance, programs that are attached using
1152 Provides a controller for miscellaneous resources on a host.
1159 For more information, please check misc cgroup section in
1160 /Documentation/admin-guide/cgroup-v2.rst.
1169 controller is for control cgroup debugging only. Its
1186 the same id. For example same IPC id may refer to different objects
1220 to provide different user info for different servers.
1224 user-space use the memory control groups to limit the amount
1267 This option optimizes the scheduler for common desktop workloads by
1269 of workloads isolates aggressive CPU burners (like build jobs) from
1274 bool "Kernel->user space relay support (formerly relayfs)"
1277 This option enables support for relay interface support in
1279 It is designed to provide an efficient mechanism for tools and
1292 etc. See <file:Documentation/admin-guide/initrd.rst> for details.
1314 See <file:Documentation/admin-guide/bootconfig.rst> for details.
1324 out even when the "bootconfig" kernel-boot parameter is omitted.
1326 make the kernel ignore the BOOT_CONFIG-supplied kernel-boot
1365 bool "Optimize for performance (-O2)"
1367 This is the default optimization level for the kernel, building
1368 with the "-O2" compiler flag for best performance and most
1369 helpful compile-time warnings.
1372 bool "Optimize for size (-Os)"
1374 Choosing this option will pass "-Os" to your compiler resulting
1393 depends on $(cc-option,-ffunction-sections -fdata-sections)
1394 depends on $(ld-option,--gc-sections)
1397 the linker by compiling with -ffunction-sections -fdata-sections,
1398 and linking with --gc-sections.
1400 This can reduce on disk and in-memory size of the kernel
1401 code and static data, particularly for small configs and
1403 silently broken kernel if the required annotations are not
1410 depends on $(ld-option,--orphan-handling=warn)
1411 depends on $(ld-option,--orphan-handling=error)
1428 Enable support for /proc/sys/debug/exception-trace.
1433 Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
1440 Enable support for /proc/sys/kernel/unaligned-trap
1443 see arch/parisc/kernel/unaligned.c for reference
1455 # Unhide debug options, to make the on-by-default options visible
1459 to be disabled or tweaked. This is for specialized
1460 environments which can tolerate a "non-standard" kernel.
1464 bool "Enable 16-bit UID system calls" if EXPERT
1468 This enables the legacy 16-bit UID syscall wrappers.
1474 This option enables support for non-root users, groups and
1478 possible capabilities. Saying N here also compiles out support for
1510 file names to handle and then later use the handle for
1521 This includes native support for POSIX timers to the kernel.
1522 Some embedded systems have no use for them and therefore they
1536 bool "Enable support for printk" if EXPERT
1549 Disabling this option eliminates support for BUG and WARN, reducing
1552 option for embedded systems with no facilities for reporting errors.
1560 Enable support for generating core dumps. Disabling saves about 4k.
1564 bool "Enable PC-Speaker support" if EXPERT
1569 This option allows to disable the internal PC-Speaker
1574 bool "Enable full-sized data structures for core" if EXPERT
1587 support for "fast userspace mutexes". The resulting kernel may not
1588 run glibc-based applications correctly.
1600 support for epoll family of system calls.
1653 This option enables support for the io_uring interface, enabling
1673 the cost of user-space memory barriers asymmetrically by transforming
1680 bool "Load all symbols for debugging/ksymoops" if EXPERT
1694 kallsyms compression algorithm for the current symbol set.
1696 Start self-test automatically after system startup. Suggest executing
1704 Normally kallsyms only contains the symbols of functions for nicer
1706 sections). This is sufficient for most cases. And only if you want to
1708 when a debugger is used) all symbols are required (i.e., names of
1729 emit the symbol references in the kallsyms table as 32-bit entries,
1736 On 64-bit builds, this reduces the size of the address table by 50%,
1738 time constants, and no relocation pass is required at runtime to fix
1755 user-space with the ability to compare two processes to see if they
1768 user-space cache for the current CPU number value, which
1769 speeds up getting the current CPU number from user-space,
1770 as well as an ABI to speed up user-space operations on
1771 per-CPU data.
1781 pages marked for writeback, (recently) evicted pages).
1790 Enable extra debugging checks for the rseq system call.
1797 See tools/perf/design.txt for details.
1806 See tools/perf/design.txt for details
1811 Expose PC/104 form factor device drivers and options available for
1823 Enable kernel support for various performance events provided
1824 by software and hardware.
1826 Software events are supported either built-in or via the
1832 suffered, or branches mis-predicted - without slowing down the
1834 when a threshold number of events have passed - and can thus be
1838 these software and hardware event capabilities, available via a
1853 Mostly useful for debugging the vmalloc code on platforms
1874 trusted keyring to provide public keys. This then can be used for
1896 This allows other Rust-related options, like drivers written in Rust,
1899 It is also required to be able to load external kernel modules
1902 See Documentation/rust/ for more information.
1909 default $(shell,command -v $(RUSTC) >/dev/null 2>&1 && $(RUSTC) --version || echo n)
1914 default $(shell,command -v $(BINDGEN) >/dev/null 2>&1 && $(BINDGEN) --version || echo n)
1918 # dynamically changed for a probe function.
1978 # It may be useful for an architecture to override the definitions of the
1981 # different calling convention for syscalls. They can also override the
1982 # macros for not-implemented syscalls in kernel/sys_ni.c and
1983 # kernel/time/posix-stubs.c. All these overrides need to be available in