Size Tunables

Jump to: navigation, search

This page has a list of items that can be configured for the Linux kernel, which may affect the size (RAM/ROM/static/dynamic) of the kernel.

Options from Linux-tiny

CONFIG option description default value value for small size Size change (ARM) Notes
CONFIG_CORE_SMALL tune some kernel data sizes N Y ?? .
CONFIG_NET_SMALL tune some net-related data sizes N Y ?? .
CONFIG_PRINTK allow disable of printk code and message data Y N ?? .
CONFIG_BUG allow elimination of BUG (and BUG_ON??) code Y N ?? .
CONFIG_ELF_CORE allow disabling of ELF core dumps Y N ?? .
CONFIG_PROC_KCORE allow disabling of /proc/kcore Y N ?? .
CONFIG_AIO allow disabling of async IO syscalls Y N ?? .
CONFIG_XATTR allow disabling of xattr syscalls Y N ?? .
CONFIG_FILE_LOCKING allow disabling of file locking syscalls Y N ?? .
CONFIG_DIRECTIO allow disabling of direct IO support Y N ?? .
CONFIG_MAX_SWAPFILES_SHIFT number of swapfiles 5 0 ?? .
CONFIG_NR_LDISCS number of tty line disciplines 16 2? ?? .
CONFIG_MAX_USER_RT_PRIO number of RT priority levels (schedule slots) 100 5? ?? .
Other config options These are not in Linux-tiny, but help with size default small Size change (ARM) Notes
CONFIG_KALLSYMS load all symbols for debugging/kksymoops Y N ?? .
CONFIG_SHMEM allow use of shmem filesystem Y N ?? .

Options for size instrumentation

Options for measuring size description default value value for instrumentation
CONFIG_KMALLOC_ACCOUNTING turn on kmalloc accounting N Y
CONFIG_AUDIT_BOOTMEM print out all bootmem allocations N Y
CONFIG_DEPRECATE_INLINES cause compiler to emit info about inlines N Y

options that should be investigated

Option default value value for small size Size change Notes
CONFIG_SERIAL_8250_NR_UARTS 4 0 ?? only useful for non-legacy ports, depends on hardware, but most embedded hardware has only legacy serial ports
- by default (at least on my OSK config), several different schedulers are configured
  • only one should be used and others not compiled in.