Proposed: A Tainted Performance State For The Linux Kernel
Similar to the kernel states of having a tainted kernel for using binary blob kernel modules or unsigned modules, a new tainting method has been proposed for warning the user about potentially adverse kernel performance.
Dave Hansen of Intel has proposed a new "TAINT_PERFORMANCE" for the kernel that would proactively print a warning message about not using the kernel for any performance measurements. Dave explained in his RFC announcement, "I have more than once myself been the victim of an accidentally-enabled kernel configuration option being mistaken for a true performance problem. I'm sure I've also taken profiles or performance measurements and assumed they were real-world when really I was measuring the performance with an option that nobody turns on in production. A warning like this late in boot will help remind folks when these kinds of things are enabled."
The "Do not use this kernel for performance measurement" message can be found via the kernel's message log if a variety of kernel config options are set that are known to be used just for debugging and could hamper the kernel's stable performance potential. Among the covered Kconfig options at this time include:
- LOCKDEP
- LOCK_STAT
- DEBUG_VM
- DEBUG_VM_VMACACHE
- DEBUG_VM_RB
- DEBUG_SLAB
- DEBUG_OBJECTS_FREE
- DEBUG_KMEMLEAK
- SCHEDSTATS
By other kernel developers looking at the patch, it's also been proposed to add the CONFIG_DEBUG_PAGEALLOC and CONFIG_SLUB_DEBUG_ON Kconfig options too. We'll see if this patch to check if the kernel performance is potentially tainted will get picked up for the Linux 3.18 kernel cycle.
Dave Hansen of Intel has proposed a new "TAINT_PERFORMANCE" for the kernel that would proactively print a warning message about not using the kernel for any performance measurements. Dave explained in his RFC announcement, "I have more than once myself been the victim of an accidentally-enabled kernel configuration option being mistaken for a true performance problem. I'm sure I've also taken profiles or performance measurements and assumed they were real-world when really I was measuring the performance with an option that nobody turns on in production. A warning like this late in boot will help remind folks when these kinds of things are enabled."
The "Do not use this kernel for performance measurement" message can be found via the kernel's message log if a variety of kernel config options are set that are known to be used just for debugging and could hamper the kernel's stable performance potential. Among the covered Kconfig options at this time include:
- LOCKDEP
- LOCK_STAT
- DEBUG_VM
- DEBUG_VM_VMACACHE
- DEBUG_VM_RB
- DEBUG_SLAB
- DEBUG_OBJECTS_FREE
- DEBUG_KMEMLEAK
- SCHEDSTATS
By other kernel developers looking at the patch, it's also been proposed to add the CONFIG_DEBUG_PAGEALLOC and CONFIG_SLUB_DEBUG_ON Kconfig options too. We'll see if this patch to check if the kernel performance is potentially tainted will get picked up for the Linux 3.18 kernel cycle.
11 Comments