1.1.37 Choose SLAB allocator
选择内存分配管理器(强烈推荐使用SLUB)
SLAB
各种环境通用的内存分配管理器
SLUB (Unqueued Allocator)
更加优秀的内存分配管理器
1.1.38 Profiling support (EXPERIMENTAL)
#支持系统评测(对于大多数用户来说并不是必须的),其实就是提供一种检测代码运行效率的工具,如果你不编程的话,这个东西也没有用.
Profiling是用来检核一支程式中那些部份(which bits)是最常呼叫或是执行的时间最久的方法.这对程式的最佳化与找出何时时间是浪费掉的而言,是相当好的方式.你必须就你所要的时程资讯(timing information)的目的档案(object files)加上-p来编译,而且如果要让输出的档案(output files)有意义(make sense),你也会需要gprof(来自binutils套件的命令).
1.1.39 Activate markers
激活标志(不确定可以不选)
1.1.40 OProfile system profiling
OProfile评测和性能监控工具
1.1.41 Kprobes
除非开发人员,否则不选
2 Enable loadable module support可加载模块支持
2.1Enable loadable module support
打开可加载模块支持,如果打开它则必须通过"make modules_install"把内核模块安装在/lib/modules/中
2.2 Module unloading
允许卸载已经加载的模块
2.3 Forced module unloading
允许强制卸载正在使用中的模块(比较危险)
2.4 Module versioning support
允许使用其他内核版本的模块(可能会出问题)
2.5 Source checksum for all modules
为所有的模块校验源码,如果你不是自己编写内核模块就不需要它
2.6 Automatic kernel module loading
让内核通过运行modprobe来自动加载所需要的模块,比如可以自动解决模块的依赖关系
3. Enable the block layer块设备支持,使用硬盘/USB/SCSI设备者必选
3.1 Support for Large Block Devices
仅在使用大于2TB的块设备时需要
3.2 Support for tracing block io actions
块队列IO跟踪支持,它允许用户查看在一个块设备队列上发生的所有事件,可以通过blktrace程序获得磁盘当前的详细统计数据
3.3 Support for Large Single Files
仅在可能使用大于2TB的文件时需要
3.4 Block layer SG support v4
通用scsi块设备第4版支持
3.5 IO Schedulers
IO调度器
3.5.1 Anticipatory I/O scheduler
假设一个块设备只有一个物理查找磁头(例如一个单独的SATA硬盘),将多个随机的小写入流合并成一个大写入流,用写入延时换取最大的写入吞吐量.适用于大多数环境,特别是写入较多的环境(比如文件服务器)
3.5.2Deadline I/O scheduler
使用轮询的调度器,简洁小巧,提供了最小的读取延迟和尚佳的吞吐量,特别适合于读取较多的环境(比如数据库)
3.5.3 CFQ I/O scheduler
使用QoS策略为所有任务分配等量的带宽,避免进程被饿死并实现了较低的延迟,可以认为是上述两种调度器的折中.适用于有大量进程的多用户系统
3.5.4 Default I/O scheduler
默认IO调度器(建议选择CFQ)
1)Anticipatory
2) Deadline
3)CFQ
4) No-op
4.System Type 系统类型
此部分暂时未整理,要根据芯片的具体指标确定。
5 .Bus support
5.1 PCCard(PCMCIA/CardBus) supoort
5.1.1 Enable PCCARD debugging
仅供调试.通常不需要选择调试PCMCIA设备,除非你是设备驱动的开发人员。
5.1.2 16-bit PCMCIA support
一些老的PCMCIA卡使用16位的CardBus
5.1.3 Load CIS updates from userspace
有些PCMCIA卡的正确使用需要升级的CIS,选这个选项就可以实现自动的使用内核的固件加载以及热插拔子系统。
如不确定,就选Y。(本选项为测试级)
5.1.4 PCMCIA control ioctl (obsolete)
本选项是个很旧的选项,应该用新的组件代替,详情见:Documentation/Changes
6 .Kernel Features
6.1 Preemptible Kerenl (EXPERIMENTAL)
抢占式内核
6.2 Dynamic tick timer
6.3 use the ARM EABI to compile the kernel
我们必须使用ARM的eabi兼容的工具链编译内核。
6.4 Allow old ABI binaries to run with this kernel(EXPERIMENTAL)
6.5 Memory model (Flat Memory)
6.5.1 Falt Memory
一般选"Flat Memory",其他选项涉及内存热插拔
6.6 64 bit Memory and IO resources
6.7 Timer and CPU usage LEDs
6.8 Timer LED
6.9 CPU usage LED
7.Boot options启动选项
7.1 Compressed ROM boot loader base address
7.2 Compeesed ROM boot laoder BSS address
7.3 Kernel Execute-In-Place from ROM
7.4 Kexec system call
8 Floating point emulation
8.1 NWFPE math emulation