linux5.2 <.config>文件注释

[Compiler](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem) [General setup](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem) [IRQ subsystem](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem) [Compiler](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem) [Timers subsystem](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem)
[CPU/Task time and stats accounting](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem) [RCU Subsystem](#Compiler General setup IRQ subsystem Compiler Timers subsystem CPU/Task time and stats accounting RCU Subsystem)

Compiler

CONFIG_CC_IS_GCC=y:设置为y表示使用的编译器是GNU Compiler Collection(GCC)。

CONFIG_GCC_VERSION=70201:设置为70201,表示GCC的版本号是7.2.1。

CONFIG_CLANG_VERSION=0:设置为0,表示没有使用Clang编译器,或者Clang版本不适用。

CONFIG_CC_HAS_ASM_GOTO=y:设置为y,表示编译器支持汇编语言中的goto指令。

CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y:设置为y,表示编译器可以警告可能未初始化的变量。

CONFIG_IRQ_WORK=y:设置为y,启用中断工作机制,允许在中断处理程序中安排工作。

CONFIG_BUILDTIME_EXTABLE_SORT=y:设置为y,在内核构建时对异常表进行排序。

General setup

CONFIG_BROKEN_ON_SMP=y:当设置为y时,表示此配置项在对称多处理(SMP)系统上可能存在问题或不兼容。

CONFIG_INIT_ENV_ARG_LIMIT=32:设置内核初始化时环境变量参数的数量限制为32。

CONFIG_COMPILE_TEST:用于在编译时执行测试,启用此功能时配置为CONFIG_COMPILE_TEST=y

CONFIG_LOCALVERSION="-licheepi-nano":设置内核的本地版本后缀为"-licheepi-nano"。

CONFIG_LOCALVERSION_AUTO:用于自动设置本地版本后缀,启用此功能时配置为CONFIG_LOCALVERSION_AUTO=y

CONFIG_BUILD_SALT="":设置构建时的随机盐值,可以通过自定义字符串来增强构建的唯一性。

CONFIG_HAVE_KERNEL_GZIP=y:启用内核支持gzip压缩格式。

CONFIG_HAVE_KERNEL_LZMA=y:启用内核支持LZMA压缩格式。

CONFIG_HAVE_KERNEL_XZ=y:启用内核支持XZ压缩格式。

CONFIG_HAVE_KERNEL_LZO=y:启用内核支持LZO压缩格式。

CONFIG_HAVE_KERNEL_LZ4=y:启用内核支持LZ4压缩格式。

CONFIG_KERNEL_GZIP=y:选择gzip作为内核映像的压缩方法。

CONFIG_KERNEL_LZMA:未启用,用于选择LZMA压缩内核映像时配置为CONFIG_KERNEL_LZMA=y

CONFIG_KERNEL_XZ:未启用,用于选择XZ压缩内核映像时配置为CONFIG_KERNEL_XZ=y

CONFIG_KERNEL_LZO:未启用,用于选择LZO压缩内核映像时配置为CONFIG_KERNEL_LZO=y

CONFIG_KERNEL_LZ4:未启用,用于选择LZ4压缩内核映像时配置为CONFIG_KERNEL_LZ4=y

CONFIG_DEFAULT_HOSTid="(none)":设置系统的默认主机名为"(none)"。

CONFIG_SWAP=y:启用交换空间支持。

CONFIG_SYSVIPC:未启用,用于启用System V IPC机制时配置为CONFIG_SYSVIPC=y

CONFIG_POSIX_MQUEUE:未启用,用于启用POSIX消息队列时配置为CONFIG_POSIX_MQUEUE=y

CONFIG_CROSS_MEMORY_ATTACH=y:启用跨内存域的内存附加功能。

CONFIG_USELIB:未启用,用于使用外部库时配置为CONFIG_USELIB=y

CONFIG_AUDIT:未启用,用于启用审计系统时配置为CONFIG_AUDIT=y

IRQ subsystem

CONFIG_GENERIC_IRQ_PROBE=y:启用通用中断请求(IRQ)探测功能,这有助于在系统运行时检测和配置IRQ。

CONFIG_GENERIC_IRQ_SHOW=y:启用显示IRQ信息的功能,通常用于诊断和调试。

CONFIG_GENERIC_IRQ_SHOW_LEVEL=y:启用显示IRQ的详细级别信息,有助于更深入地了解中断处理。

CONFIG_HARDIRQS_SW_RESEND=y:启用软件重发硬件中断请求的功能,用于处理某些硬件中断的特殊需求。

CONFIG_GENERIC_IRQ_CHIP=y:启用通用中断控制器芯片框架,简化对不同中断控制器的支持。

CONFIG_IRQ_DOMAIN=y:启用中断域框架,用于管理中断号到处理程序的映射。

CONFIG_HANDLE_DOMAIN_IRQ=y:启用中断域的中断处理,允许中断处理程序注册到中断域。

CONFIG_IRQ_FORCED_THREADING=y:启用强制中断处理为线程化执行,提高某些中断处理的稳定性。

CONFIG_SPARSE_IRQ=y:启用稀疏中断,允许中断号不连续,节省资源。

CONFIG_GENERIC_IRQ_DEBUGFS:此配置项未设置,它用于启用IRQ相关的调试文件系统,启用时配置为CONFIG_GENERIC_IRQ_DEBUGFS=y

CONFIG_GENERIC_IRQ_MULTI_HANDLER=y:启用支持单个IRQ由多个处理程序处理的功能。

CONFIG_ARCH_CLOCKSOURCE_DATA=y:启用架构特定的时钟源数据,用于提供精确的计时服务。

CONFIG_GENERIC_CLOCKEVENTS=y:启用通用的时钟事件设备框架,用于时钟事件管理。

Timers subsystem

CONFIG_TICK_ONESHOT=y:启用一次性定时器模式,这是一种高效的定时器中断处理方式,可以减少定时器中断的开销。

CONFIG_NO_HZ_COMMON=y:启用无固定频率的时钟节拍(tickless)的通用支持,允许系统在不需要时减少时钟中断。

CONFIG_HZ_PERIODIC:它用于启用周期性时钟中断,启用时配置为CONFIG_HZ_PERIODIC=y

CONFIG_NO_HZ_IDLE=y:启用空闲时钟节拍,当CPU处于空闲状态时,减少时钟中断以节省能源。

CONFIG_NO_HZ:此配置项已启用,但具体配置未给出。通常,CONFIG_NO_HZ 用于定义系统是否采用完全的无时钟节拍调度,启用时配置为CONFIG_NO_HZ=y

CONFIG_HIGH_RES_TIMERS=y:启用高精度定时器支持,提供更精确的时间测量功能。

CONFIG_PREEMPT_NONE=y:设置内核为非抢占式内核,这意味着任务不能被其他任务抢占,直到它自己放弃CPU。

CONFIG_PREEMPT_VOLUNTARY:用于启用自愿抢占,启用时配置为CONFIG_PREEMPT_VOLUNTARY=y,允许任务在某些条件下被抢占。

CONFIG_PREEMPT:用于启用完全抢占式内核,启用时配置为CONFIG_PREEMPT=y,允许任务在任何时间被更高优先级的任务抢占。

CPU/Task time and stats accounting

CONFIG_TICK_CPU_ACCOUNTING=y:启用基于时钟节拍的CPU时间统计功能,用于跟踪每个CPU的使用情况。

CONFIG_VIRT_CPU_ACCOUNTING_GEN:它用于启用基于通用时钟的虚拟CPU时间统计,启用时配置为CONFIG_VIRT_CPU_ACCOUNTING_GEN=y

CONFIG_IRQ_TIME_ACCOUNTING:它用于启用中断请求(IRQ)时间统计,启用时配置为CONFIG_IRQ_TIME_ACCOUNTING=y

CONFIG_BSD_PROCESS_ACCT:它用于启用BSD风格的进程时间统计,启用时配置为CONFIG_BSD_PROCESS_ACCT=y

CONFIG_TASKSTATS:它用于启用任务统计信息收集,启用时配置为CONFIG_TASKSTATS=y

CONFIG_PSI:它用于启用压力位(Pressure Stall Information)的监控,启用时配置为CONFIG_PSI=y

RCU Subsystem

CONFIG_TINY_RCU=y:启用轻量级的RCU实现,适用于小内存系统。
CONFIG_RCU_EXPERT:RCU专家模式未设置,该模式提供更多RCU调优选项。
CONFIG_SRCU=y:启用信号量式RCU,适用于需要等待多个完成的RCU操作。
CONFIG_TINY_SRCU=y:启用轻量级的SRCU实现。

CONFIG_IKCONFIG:表示CONFIG_IKCONFIG选项未被设置,这通常用于启用内核配置的增量备份。
CONFIG_IKHEADERS:表示CONFIG_IKHEADERS选项未被设置,这用于启用内核头文件的增量备份。
CONFIG_LOG_BUF_SHIFT=17:设置日志缓冲区的大小,17是缓冲区大小的2的幂次方,即128KB。
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13:设置安全打印缓冲区的大小,13对应8KB。
CONFIG_GENERIC_SCHED_CLOCK=y:启用通用调度器时钟,用于调度器性能优化。
CONFIG_CGROUPS=y:启用控制组(cgroups),用于资源管理和进程隔离。
CONFIG_MEMCG:内存控制组未被启用,用于限制进程组的内存使用。
CONFIG_BLK_CGROUPCONFIG_CGROUP_SCHED等,都表示相应的cgroups特性未被启用。
CONFIG_NAMESPACES=y:启用命名空间,用于隔离系统资源。
CONFIG_UTS_NS=y:启用UTS(UNIX Time-Sharing)命名空间,用于隔离主机名和网络名称。
CONFIG_USER_NS:用户命名空间未被启用,用于隔离用户和组ID。
CONFIG_PID_NS=y:启用进程ID命名空间,用于隔离进程编号。
CONFIG_NET_NS=y:启用网络命名空间,用于隔离网络设备和资源。
CONFIG_BLK_DEV_INITRD=y:启用初始RAM磁盘设备,用于在启动时加载文件系统。
CONFIG_INITRAMFS_SOURCE="":初始RAM文件系统的源文件,这里为空,表示未指定。
CONFIG_RD_GZIPCONFIG_RD_BZIP2等:启用不同的压缩算法支持,用于压缩内核映像或初始RAM文件系统。
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y:编译器优化以提高性能。
CONFIG_CC_OPTIMIZE_FOR_SIZE:编译器优化以减小大小的选项未被启用。
CONFIG_SYSCTL=y:启用系统控制,用于动态更改内核参数。
CONFIG_HAVE_UID16=y:支持16位用户ID。
CONFIG_BPF=y:启用BPF(Berkeley Packet Filter),用于高效的数据包过滤和网络监控。
CONFIG_MULTIUSER=y:支持多用户。
CONFIG_SYSFS_SYSCALL=y:启用sysfs系统调用,用于访问内核中的文件系统。
CONFIG_FHANDLE=y:启用文件句柄支持。
CONFIG_POSIX_TIMERS=y:启用POSIX定时器。
CONFIG_PRINTKCONFIG_PRINTK_NMI等:启用不同的打印和调试选项。
CONFIG_BUG=y:启用bug检测。
CONFIG_ELF_CORE=y:启用ELF核心转储。
CONFIG_BASE_FULL=y:启用完整的基本内存分配器。
CONFIG_FUTEX=yCONFIG_EPOLL等:启用不同的系统调用,用于进程同步和I/O事件通知。
CONFIG_SHMEM=yCONFIG_AIO=y等:启用共享内存、异步I/O等特性。
CONFIG_IO_URING=y:启用io_uring,一种高效的异步I/O接口。
CONFIG_ADVISE_SYSCALLS=y:启用内存分配建议系统调用。
CONFIG_MEMBARRIER=y:启用内存屏障支持。
CONFIG_KALLSYMS=y:启用内核符号导出。
CONFIG_KALLSYMS_BASE_RELATIVE=y:设置内核符号的基地址为相对地址。
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y:架构支持内存屏障同步核心。
CONFIG_RSEQ=y:启用RSEQ,一种新的指令序列执行机制。
CONFIG_HAVE_PERF_EVENTS=y:支持性能事件。
CONFIG_PERF_USE_VMALLOC=y:使用vmalloc分配性能事件缓冲区。

CONFIG_PERF_EVENTS=y:启用性能事件,这允许用户监控和测量系统和应用程序的性能。

CONFIG_VM_EVENT_COUNTERS=y:启用虚拟内存事件计数器,这可以用于监控和分析内存相关的性能问题。

CONFIG_SLUB_DEBUG=y:启用SLUB(Simplified LInux Memory Allocator)分配器的调试选项,这有助于检测内存分配和释放过程中的错误。
CONFIG_COMPAT_BRK=y:启用对旧的brk系统调用的兼容支持,brk用于改变进程的数据段的大小。

CONFIG_SLAB:表示旧的SLAB内存分配器没有被启用,SLAB是Linux内核中用于内存管理的一种机制。

CONFIG_SLUB=y:启用SLUB内存分配器,这是SLAB分配器的一个简化版本,用于提高性能和简化实现。

CONFIG_SLAB_MERGE_DEFAULT=y:设置默认情况下启用SLAB分配器的合并功能,这有助于减少内存碎片。

CONFIG_SLAB_FREELIST_RANDOM:表示没有启用SLAB空闲列表的随机化特性,该特性可以提高系统的安全性。

CONFIG_SLAB_FREELIST_HARDENED:表示没有启用SLAB空闲列表的硬化特性,这通常用于提高系统的安全性。

CONFIG_SHUFFLE_PAGE_ALLOCATOR:表示没有启用页面分配器的洗牌特性,该特性可以提高系统的随机性和安全性。

CONFIG_SYSTEM_DATA_VERIFICATION=y:启用系统数据验证,这有助于确保数据的完整性和防止数据损坏。

CONFIG_PROFILING:表示没有启用内核的分析(profiling)功能,该功能用于收集关于系统性能的详细信息。
end of General setup

CONFIG_ARM=y:启用ARM架构支持,这是ARM处理器专用的内核配置选项。

CONFIG_ARM_HAS_SG_CHAIN=y:启用对散列表(scatter-gather)链的支持,这在DMA传输中非常有用。

CONFIG_SYS_SUPPORTS_APM_EMULATION=y:启用高级电源管理(APM)的仿真支持,这可以提供对旧的电源管理API的兼容性。

CONFIG_HAVE_PROC_CPU=y:启用对/proc/cpu*文件的支持,这些文件提供了CPU的信息。

CONFIG_STACKTRACE_SUPPORT=y:启用内核栈回溯支持,这对于调试和分析内核崩溃非常有用。

CONFIG_LOCKDEP_SUPPORT=y:启用锁依赖支持,这是内核中用于检测死锁和其他锁相关错误的机制。

CONFIG_TRACE_IRQFLAGS_SUPPORT=y:启用对IRQ标志的跟踪支持,这有助于调试与中断相关的代码。

CONFIG_FIX_EARLYCON_MEM=y:修复早期控制台使用的内存,这有助于确保早期打印的稳定性。

CONFIG_GENERIC_HWEIGHT=y:启用通用硬件权重支持,这通常用于CPU频率和负载均衡。

CONFIG_GENERIC_CALIBRATE_DELAY=y:启用通用的延迟校准机制,用于校准延迟循环计时器。

CONFIG_ARCH_SUPPORTS_UPROBES=y:表示架构支持用户态探针(uprobes),这允许在用户空间代码中设置断点。

CONFIG_ARM_PATCH_PHYS_VIRT=y:为ARM架构提供物理到虚拟地址的补丁,这有助于处理物理地址到虚拟地址的转换。

CONFIG_GENERIC_BUG=y:启用通用bug支持,这包括一些通用的bug处理机制。

CONFIG_PGTABLE_LEVELS=2:设置页表级别为2,这通常用于内存管理,特别是在分页机制中。

相关推荐
大耳朵爱学习6 分钟前
大模型预训练的降本增效之路——从信息密度出发
人工智能·深度学习·机器学习·自然语言处理·大模型·llm·大语言模型
Reuuse38 分钟前
【HCIA-Datacom】华为VRP系统
服务器·网络·华为
FOUR_A1 小时前
【机器学习导引】ch2-模型评估与选择
人工智能·机器学习
轩轶子1 小时前
【C-项目】网盘(一期,线程池版)
服务器·c语言
GDAL2 小时前
全面讲解GNU:从起源到应用
服务器·云计算·gnu
GDAL2 小时前
GNU力量注入Windows:打造高效跨平台开发新纪元
服务器·windows·gnu
hgdlip2 小时前
电脑和另一台电脑IP地址相同怎么办
服务器·电脑·ip地址
Dola_Pan2 小时前
Linux文件IO(一)-open使用详解
java·linux·dubbo
Spring-wind2 小时前
【linux】pwd命令
linux
geekrabbit2 小时前
机器学习和深度学习的区别
运维·人工智能·深度学习·机器学习·浪浪云