Kindly support DOTSLASHLINUX on Patreon to keep the website up and running while remaining ads free.
Part | Section | Link |
---|---|---|
1 | Intro | Click Here |
2 | [∗] Gentoo Linux support ---> | Click Here |
3 | General setup ---> | Click Here |
4 | [∗] Enable loadable module support ---> | Click Here |
5 | [∗] Enable the block layer ---> | Click Here |
6 | Processor type and features ---> | Click Here |
7 | Power management and ACPI options ---> | Click Here |
8 | Bus options (PCI etc.) ---> | Click Here |
9 | Executable file formats / Emulations ---> | Click Here |
10 | [∗] Networking support ---> | Click Here |
11 | Device Drivers ---> | Click Here |
12 | Firmware Drivers ---> | Click Here |
13 | File systems ---> | Click Here |
14 | Kernel hacking ---> | Click Here |
15 | Security options ---> | Click Here |
16 | -∗- Cryptographic API ---> | Click Here |
17 | [∗] Virtualization ---> | Click Here |
18 | Library routines ---> | Click Here |
Kernel Sources: sys-kernel/gentoo-sources
Kernel Version: 4.14.12
Last Updated on: 06/01/2018
Update Notice: 1- Excluded 'CONFIG_PAGE_TABLE_ISOLATION' in 'Security options --->'
2- Included 'CONFIG_STANDALONE' in 'Device Drivers --->'
3- Included 'CONFIG_PREVENT_FIRMWARE_BUILD' in 'Device Drivers --->'
4- Included 'CONFIG_X86_5LEVEL' in 'Processor type and features --->'
5- Included 'CONFIG_ORC_UNWINDER' in 'Kernel hacking --->'
6- Excluded QEMU-virtualization-related options in favor of VirtualBox
7- Excluded swap-related options
8- Excluded 32-bit support
9- Switched from XFS to EXT4
Priorities: 1- high performance
2- minimal
3- low memory footprint
4- small size
5- power saving
6- security
7- low-latency
Total Options: 2469 (grep -c 'CONFIG_' DOTSLASHLINUX.config)
Included Options: 645 (grep -c '=y' DOTSLASHLINUX.config)
Excluded Options: 1761 (grep -c 'is not set' DOTSLASHLINUX.config)
Final Size (LZ4): 5,644,240 Bytes
Patches Applied: 1- UKSM-4.14 Patch (https://github.com/dolohow/uksm/blob/master/uksm-4.14.patch)
Contributors: Firas Khalil Khana [irc: firas] [email: firasuke@gmail.com]
Side Notes: 1- Options that aren't listed here are excluded [ ].
2- These guides provide users with a solid starting setup to build on.
3- These guides are constantly being updated.
4- If there's something I didn't explain properly or I misexplained
then please do let me know either by kindly leaving a comment below
or by sending me an email on: firasuke@gmail.com
Symbol: CONFIG_SUSPEND
Help: Allow the system to enter sleep states in which main memory is
powered and thus its contents are preserved, such as the
suspend-to-RAM state (e.g. the ACPI S3 state).
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you don't plan on using suspend
to RAM.
Symbol: CONFIG_HIBERNATION
Help: Enable the suspend to disk (STD) functionality, which is usually
called "hibernation" in user interfaces. STD checkpoints the
system and powers it off; and restores that checkpoint on reboot.
You can suspend your machine with 'echo disk > /sys/power/state'
after placing resume=/dev/swappartition on the kernel command line
in your bootloader's configuration file.
Alternatively, you can use the additional userland tools available
from <http://suspend.sf.net>.
In principle it does not require ACPI or APM, although for example
ACPI will be used for the final steps when it is available. One
of the reasons to use software suspend is that the firmware hooks
for suspend states like suspend-to-RAM (STR) often don't work very
well with Linux.
It creates an image which is saved in your active swap. Upon the next
boot, pass the 'resume=/dev/swappartition' argument to the kernel to
have it detect the saved image, restore memory state from it, and
continue to run as before. If you do not want the previous state to
be reloaded, then use the 'noresume' kernel command line argument.
Note, however, that fsck will be run on your filesystems and you will
need to run mkswap against the swap partition used for the suspend.
It also works with swap files to a limited extent (for details see
<file:Documentation/power/swsusp-and-swap-files.txt>).
Right now you may boot without resuming and resume later but in the
meantime you cannot use the swap partition(s)/file(s) involved in
suspending. Also in this case you must not use the filesystems
that were mounted before the suspend. In particular, you MUST NOT
MOUNT any journaled filesystems mounted before the suspend or they
will get corrupted in a nasty way.
For more information take a look at <file:Documentation/power/swsusp.txt>.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you don't plan on using suspend
to disk.
Include this option only if power saving was a concern to you as
CONFIG_HIBERNATION or suspend to disk saves all data in the memory to
the disk allowing the device to power off completely.
Symbol: CONFIG_PM
Help: Enable functionality allowing I/O devices to be put into energy-saving
(low power) states, for example after a specified period of inactivity
(autosuspended), and woken up in response to a hardware-generated
wake-up event or a driver's request.
Hardware support is generally required for this functionality to work
and the bus type drivers of the buses the devices are on are
responsible for the actual handling of device suspend requests and
wake-up events.
Type: boolean
Choice: built-in [∗]
Reason: It's highly recommended that you include this option in your kernel
as it's required for enabling the power saving functionality of I/O
devices and it's also recommended by the Gentoo Wiki.
Symbol: CONFIG_PM_DEBUG
Help: This option enables various debugging support in the Power Management
code. This is helpful when debugging and reporting PM bugs, like
suspend support.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it's intended for debugging
purposes.
Symbol: CONFIG_WQ_POWER_EFFICIENT_DEFAULT
Help: Per-cpu workqueues are generally preferred because they show
better performance thanks to cache locality; unfortunately,
per-cpu workqueues tend to be more power hungry than unbound
workqueues.
Enabling workqueue.power_efficient kernel parameter makes the
per-cpu workqueues which were observed to contribute
significantly to power consumption unbound, leading to measurably
lower power usage at the cost of small performance overhead.
This config option determines whether workqueue.power_efficient
is enabled by default.
If in doubt, say N.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it slightly improves power
saving at the cost of performance.
Symbol: CONFIG_ACPI
Help: Advanced Configuration and Power Interface (ACPI) support for
Linux requires an ACPI-compliant platform (hardware/firmware),
and assumes the presence of OS-directed configuration and power
management (OSPM) software. This option will enlarge your
kernel by about 70K.
Linux ACPI provides a robust functional replacement for several
legacy configuration and power management interfaces, including
the Plug-and-Play BIOS specification (PnP BIOS), the
MultiProcessor Specification (MPS), and the Advanced Power
Management (APM) specification. If both ACPI and APM support
are configured, ACPI is used.
The project home page for the Linux ACPI subsystem is here:
<https://01.org/linux-acpi>
Linux support for ACPI is based on Intel Corporation's ACPI
Component Architecture (ACPI CA). For more information on the
ACPI CA, see:
<http://acpica.org/>
ACPI is an open industry specification originally co-developed by
Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently,
it is developed by the ACPI Specification Working Group (ASWG) under
the UEFI Forum and any UEFI member can join the ASWG and contribute
to the ACPI specification.
The specification is available at:
<http://www.acpi.info>
<http://www.uefi.org/acpi/specs>
Type: boolean
Choice: built-in [∗]
Reason: It's highly recommended that you include this option in your kernel
as many systems won't boot without ACPI support.
ACPI enforces strict guidelines on devices to significantly increase
powersaving.
Not all devices follow or abide by these guidelines which may lead to
several warnings, errors and conflicts (most of the times they can be
safely ignored).
Symbol: CONFIG_ACPI_DEBUGGER
Help: Enable in-kernel debugging of AML facilities: statistics,
internal object dump, single step control method execution.
This is still under development, currently enabling this only
results in the compilation of the ACPICA debugger files.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it's intended for debugging
purposes.
Symbol: CONFIG_ACPI_PROCFS_POWER
Help: For backwards compatibility, this option allows
deprecated power /proc/acpi/ directories to exist, even when
they have been replaced by functions in /sys.
The deprecated directories (and their replacements) include:
/proc/acpi/battery/∗ (/sys/class/power_supply/∗)
/proc/acpi/ac_adapter/∗ (sys/class/power_supply/∗)
This option has no effect on /proc/acpi/ directories
and functions, which do not yet exist in /sys
This option, together with the proc directories, will be
deleted in the future.
Say N to delete power /proc/acpi/ directories that have moved to /sys/
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it's deprecated.
Include this option only if your power reporting tools rely on
it option and/or if you're receiving some ACPI warnings/errors
on your system.
Symbol: CONFIG_ACPI_REV_OVERRIDE_POSSIBLE
Help: The platform firmware on some systems expects Linux to return "5" as
the supported ACPI revision which makes it expose system configuration
information in a special way.
For example, based on what ACPI exports as the supported revision,
Dell XPS 13 (2015) configures its audio device to either work in HDA
mode or in I2S mode, where the former is supposed to be used on Linux
until the latter is fully supported (in the kernel as well as in user
space).
This option enables a DMI-based quirk for the above Dell machine (so
that HDA audio is exposed by the platform firmware to the kernel) and
makes it possible to force the kernel to return "5" as the supported
ACPI revision via the "acpi_rev_override" command line switch.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you have no need for this DMI-based
quirk.
Symbol: CONFIG_ACPI_EC_DEBUGFS
Help: Say N to disable Embedded Controller /sys/kernel/debug interface
Be aware that using this interface can confuse your Embedded
Controller in a way that a normal reboot is not enough. You then
have to power off your system, and remove the laptop battery for
some seconds.
An Embedded Controller typically is available on laptops and reads
sensor values like battery state and temperature.
The kernel accesses the EC through ACPI parsed code provided by BIOS
tables. This option allows to access the EC directly without ACPI
code being involved.
Thus this option is a debug option that helps to write ACPI drivers
and can be used to identify ACPI code or EC firmware bugs.
Type: tristate
Choice: excluded < >
Reason: You can safely exclude this option as providing the kernel direct access
to the EC without ACPI sounds problematic.
Symbol: CONFIG_ACPI_AC
Help: This driver supports the AC Adapter object, which indicates
whether a system is on AC or not. If you have a system that can
switch between A/C and battery, say Y.
To compile this driver as a module, choose M here:
the module will be called ac.
Type: tristate
Choice: built-in <∗>
Reason: It's highly recommended that you include this option in your kernel
if you're building the kernel for a laptop which switches between A/C
and battery.
You can safely exclude this option along with CONFIG_ACPI_BATTERY if
you're building the kernel for a desktop.
Symbol: CONFIG_ACPI_BATTERY
Help: This driver adds support for battery information through
/proc/acpi/battery. If you have a mobile system with a battery,
say Y.
To compile this driver as a module, choose M here:
the module will be called battery.
Type: tristate
Choice: built-in <∗>
Reason: It's highly recommended that you include this option in your kernel
if you're building the kernel for a laptop which switches between A/C
and battery.
You can safely exclude this option along with CONFIG_ACPI_AC if
you're building the kernel for a desktop.
Symbol: CONFIG_ACPI_BUTTON
Help: This driver handles events on the power, sleep, and lid buttons.
A daemon reads events from input devices or via netlink and
performs user-defined actions such as shutting down the system.
This is necessary for software-controlled poweroff.
To compile this driver as a module, choose M here:
the module will be called button.
Type: tristate
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
(that is if it isn't already forcibly included by CONFIG_X86, CONFIG_PCI
CONFIG_DRM, and CONFIG_DRM_I915).
Symbol: CONFIG_ACPI_VIDEO
Help: This driver implements the ACPI Extensions For Display Adapters
for integrated graphics devices on motherboard, as specified in
ACPI 2.0 Specification, Appendix B. This supports basic operations
such as defining the video POST device, retrieving EDID information,
and setting up a video output.
To compile this driver as a module, choose M here:
the module will be called video.
Type: tristate
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
(that is if it isn't already forcibly included by CONFIG_X86, CONFIG_PCI
CONFIG_DRM, CONFIG_DRM_I915, CONFIG_INPUT, CONFIG_RFKILL and a lot of
important options).
Symbol: CONFIG_ACPI_FAN
Help: This driver supports ACPI fan devices, allowing user-mode
applications to perform basic fan control (on, off, status).
To compile this driver as a module, choose M here:
the module will be called fan.
Type: tristate
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
to allow ACPI fan control.
Symbol: CONFIG_ACPI_DOCK
Help: This driver supports ACPI-controlled docking stations and removable
drive bays such as the IBM Ultrabay and the Dell Module Bay.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if your system doesn't have a docking
station and/or a removable drive bay.
Symbol: CONFIG_ACPI_PROCESSOR
Help: This driver adds support for the ACPI Processor package. It is required
by several flavors of cpufreq performance-state, thermal, throttling and
idle drivers.
To compile this driver as a module, choose M here:
the module will be called processor.
Type: tristate
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
if you're using Intel P-State as your CPU frequency scaling driver.
Symbol: CONFIG_ACPI_PROCESSOR_AGGREGATOR
Help: ACPI 4.0 defines processor Aggregator, which enables OS to perform
specific processor configuration and control that applies to all
processors in the platform. Currently only logical processor idling
is defined, which is to reduce power consumption. This driver
supports the new device.
Type: tristate
Choice: built-in <∗>
Reason: It's highly recommended that you include this option in your kernel
as it allows the kernel to let the CPUs enter idle state.
Symbol: CONFIG_ACPI_THERMAL
Help: This driver supports ACPI thermal zones. Most mobile and
some desktop systems support ACPI thermal zones. It is HIGHLY
recommended that this option be enabled, as your processor(s)
may be damaged without it.
To compile this driver as a module, choose M here:
the module will be called thermal.
Type: tristate
Choice: It's highly recommended that you include this option in your kernel
if you don't want your CPUs to get damaged as it allows the kernel
along with CONFIG_ACPI_FAN to manage the fan's speed; thus, lowering
the system's temperature.
This makes me wonder why this option isn't already forcibly included
if it's that much important.
Symbol: CONFIG_ACPI_CUSTOM_DSDT_FILE
Help: This option supports a custom DSDT by linking it into the kernel.
See Documentation/acpi/dsdt-override.txt
Enter the full path name to the file which includes the AmlCode
declaration.
If unsure, don't enter a file name.
Type: string
Choice: () default
Reason: You can safely leave the value of this option set to the default value
of () as this option is mostly for developers or advanced users who are
willing to use a custom DSDT table mainly for fixing some ACPI errors
(this is really an advanced complex process).
For more info:
https://forums.gentoo.org/viewtopic.php?t=122145
Symbol: CONFIG_ACPI_DEBUG
Help: The ACPI subsystem can produce debug output. Saying Y enables this
output and increases the kernel size by around 50K.
Use the acpi.debug_layer and acpi.debug_level kernel command-line
parameters documented in Documentation/acpi/debug.txt and
Documentation/admin-guide/kernel-parameters.rst to control the type and
amount of debug output.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you're receiving enough information
about your ACPI errors.
Include this option only if you want to debug ACPI errors.
Symbol: CONFIG_ACPI_PCI_SLOT
Help: This driver creates entries in /sys/bus/pci/slots/ for all PCI
slots in the system. This can help correlate PCI bus addresses,
i.e., segment/bus/device/function tuples, with physical slots in
the system. If you are unsure, say N.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you're sure that your applications
don't require it.
Symbol: CONFIG_X86_PM_TIMER
Help: The Power Management Timer is available on all ACPI-capable,
in most cases even if ACPI is unusable or blacklisted.
This timing source is not affected by power management features
like aggressive processor idling, throttling, frequency and/or
voltage scaling, unlike the commonly used Time Stamp Counter
(TSC) timing source.
You should nearly always say Y here because many modern
systems require this timer.
Type: boolean
Choice: built-in [∗]
Reason: It's highly recommended that you include this option in your kernel
as many modern systems rely on its functionality.
Symbol: CONFIG_ACPI_CONTAINER
Help: This driver supports ACPI Container and Module devices (IDs
ACPI0004, PNP0A05, and PNP0A06).
This helps support hotplug of nodes, CPUs, and memory.
To compile this driver as a module, choose M here:
the module will be called container.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you've already excluded
CONFIG_HOTPLUG_CPU.
Include this option only if you want suspend to RAM support,
and if you've already included CONFIG_HOTPLUG_CPU.
Symbol: CONFIG_ACPI_SBS
Help: This driver supports the Smart Battery System, another
type of access to battery information, found on some laptops.
To compile this driver as a module, choose M here:
the modules will be called sbs and sbshc.
Type: tristate
Choice: built-in <∗>
Reason: You can safely exclude this option if you don't have a laptop
with a smart battery system.
Please refer to part 11:
https://www.dotslashlinux.com/2017/09/11/the-linux-kernel-configuration-guide-part-11/
and check the guide at the top to understand how to find what features
your system supports and what options to include in your kernel.
If you've followed the guide in part 11, you can simply run:
cat lsmod.txt | grep sbs
to see if your laptop has this system or not.
Symbol: CONFIG_ACPI_HED
Help: This driver supports the Hardware Error Device (PNP0C33),
which is used to report some hardware errors notified via
SCI, mainly the corrected errors.
Type: tristate
Choice: excluded [ ]
Reason: You can safely exclude this option if you don't have a (PNP0C33)
hardware error device.
Even for users that have this hardware error device, the reports
are mostly about corrected errors only and not all errors.
Symbol: CONFIG_ACPI_REDUCED_HARDWARE_ONLY
Help: This config item changes the way the ACPI code is built. When this
option is selected, the kernel will use a specialized version of
ACPICA that ONLY supports the ACPI "reduced hardware" mode. The
resulting kernel will be smaller but it will also be restricted to
running in ACPI reduced hardware mode ONLY.
If you are unsure what to do, do not enable this option.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it's mostly for SoC and arm
based devices; therefore.
Symbol: CONFIG_ACPI_NFIT
Help: Infrastructure to probe ACPI 6 compliant platforms for
NVDIMMs (NFIT) and register a libnvdimm device tree. In
addition to storage devices this also enables libnvdimm to pass
ACPI._DSM messages for platform/dimm configuration.
To compile this driver as a module, choose M here:
the module will be called nfit.
Type: tristate
Choice: excluded < >
Reason: You can safely exclude this option if you don't have NVDIMMs installed
in your system.
Symbol: CONFIG_ACPI_APEI
Help: APEI allows to report errors (for example from the chipset)
to the operating system. This improves NMI handling
especially. In addition it supports error serialization and
error injection.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it's highly unlikely that you'll
need it.
Symbol: CONFIG_DPTF_POWER
Help: This driver adds support for Dynamic Platform and Thermal Framework
(DPTF) Platform Power Participant device (INT3407) support.
This participant is responsible for exposing platform telemetry:
max_platform_power
platform_power_source
adapter_rating
battery_steady_power
charger_type
To compile this driver as a module, choose M here:
the module will be called dptf_power.
Type: tristate
Choice: excluded < >
Reason: You can safely exclude this option if you don't have a DPTF (INT3407)
device installed in your system.
Symbol: CONFIG_ACPI_EXTLOG
Help: Certain usages such as Predictive Failure Analysis (PFA) require
more information about the error than what can be described in
processor machine check banks. Most server processors log
additional information about the error in processor uncore
registers. Since the addresses and layout of these registers vary
widely from one processor to another, system software cannot
readily make use of them. To complicate matters further, some of
the additional error information cannot be constructed without
detailed knowledge about platform topology.
Enhanced MCA Logging allows firmware to provide additional error
information to system software, synchronous with MCE or CMCI. This
driver adds support for that functionality with corresponding
tracepoint which carries that information to userspace.
Type: tristate
Choice: excluded < >
Reason: You can safely exclude this option as you'll rarely need this extended
information.
Include this option only if you're suffering from such complicated errors.
Symbol: CONFIG_PMIC_OPREGION
Help: Select this option to enable support for ACPI operation
region of the PMIC chip. The operation region can be used
to control power rails and sensor reading/writing on the
PMIC chip.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you don't have a PMIC chip installed
in your system.
Symbol: CONFIG_ACPI_CONFIGFS
Help: Select this option to enable support for ACPI configuration from
userspace. The configurable ACPI groups will be visible under
/config/acpi, assuming configfs is mounted under /config.
Type: tristate
Choice: excluded < >
Reason:
Symbol: CONFIG_SFI
Help: The Simple Firmware Interface (SFI) provides a lightweight method
for platform firmware to pass information to the operating system
via static tables in memory. Kernel SFI support is required to
boot on SFI-only platforms. Currently, all SFI-only platforms are
based on the 2nd generation Intel Atom processor platform,
code-named Moorestown.
For more information, see http://simplefirmware.org
Say 'Y' here to enable the kernel to boot on SFI-only platforms.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option as it's intended for small and low
speced devices (some smart phones).
Symbol: CONFIG_CPU_FREQ
Help: CPU Frequency scaling allows you to change the clock speed of
CPUs on the fly. This is a nice method to save power, because
the lower the CPU clock speed, the less power the CPU consumes.
Note that this driver doesn't automatically change the CPU
clock speed, you need to either enable a dynamic cpufreq governor
(see below) after boot, or use a userspace tool.
For details, take a look at <file:Documentation/cpu-freq>.
If in doubt, say N.
Type: boolean
Choice: built-in [∗]
Reason: It's highly recommended that you include this option in your kernel
especially if you're on a laptop and want to conserve power as it'll
scale down your CPU's clock speed when it's not being use to conserve
power.
Symbol: CONFIG_CPU_FREQ_STAT
Help: Export CPU frequency statistics information through sysfs.
If in doubt, say N.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option to lower system overheadm as you'll
rarely need this statistical information.
Help: This option sets which CPUFreq governor shall be loaded at
startup. If in doubt, select 'performance'.
Symbol: CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
Help: Use the CPUFreq governor 'performance' as default. This sets
the frequency statically to the highest frequency supported by
the CPU.
Type: boolean
Choice: built-in (X)
Reason: It's highly recommended that you include this option in your kernel
as it ensures your CPU delivers high performance all the time.
Exclude this option and include CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND
only if pwoer saving was a major concern to you.
Symbol: CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND
Help: Use the CPUFreq governor 'ondemand' as default. This allows
you to get a full dynamic frequency capable system by simply
loading your cpufreq low-level hardware driver.
Be aware that not all cpufreq drivers support the ondemand
governor. If unsure have a look at the help section of the
driver. Fallback governor will be the performance governor.
Type: boolean
Choice: excluded ( )
Reason: It's recommended that you include this option in your kernel
if you're using a modern intel CPU, and in order to enable
proper CPU scaling, you need to also include CONFIG_X86_INTEL_PSTATE.
However, the wiki says that when you're using the Intel P State frequency
scaling driver you have to use the 'performance' governor. The result is
that your CPUs will be always running at maximum frequency and will consume
more energy and result in high temperatures (in some cases), but you'll get
the most performance out of your CPU.
The correct way to scale the frequency down with Intel P-State CPU frequencu
scaling driver would be to use 'ondemand' as the default governor, while
enabling both 'performance' and 'powersave' and exclude every other governor
and CPU frequency.
This way your CPUs will clock down to their minimum frequency when idle and
not in use, and will max their frequency when on load which allows for
reducing temperatures and conserving power while maintaining high performance
when needed.
Symbol: CONFIG_CPU_FREQ_GOV_PERFORMANCE
Help: This cpufreq governor sets the frequency statically to the
highest available CPU frequency.
To compile this driver as a module, choose M here: the
module will be called cpufreq_performance.
If in doubt, say Y.
Type: tristate
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
as it's required by CONFIG_X86_INTEL_PSTATE.
Symbol: CONFIG_CPU_FREQ_GOV_POWERSAVE
Help: This cpufreq governor sets the frequency statically to the
lowest available CPU frequency.
To compile this driver as a module, choose M here: the
module will be called cpufreq_powersave.
If in doubt, say Y.
Type: tristate
Choice: built-in <∗>
Reason: It's highly recommended that you include this option in your kernel
as it's required by CONFIG_X86_INTEL_PSTATE.
Symbol: CONFIG_CPU_FREQ_GOV_ONDEMAND
Help: 'ondemand' - This driver adds a dynamic cpufreq policy governor.
The governor does a periodic polling and
changes frequency based on the CPU utilization.
The support for this governor depends on CPU capability to
do fast frequency switching (i.e, very low latency frequency
transitions).
To compile this driver as a module, choose M here: the
module will be called cpufreq_ondemand.
For details, take a look at linux/Documentation/cpu-freq.
If in doubt, say N.
Type: tristate
Choice: excluded [ ]
Reason: It's recommended that you include this option in your kernel
as it's the correct governor that should be used with Intel P State
to allow your CPU's frequency to scale down.
Remember that you need to choose 'ondemand' as the default governor
while enabling 'performance' and 'powersave' in order for Intel P State
driver to work correctly.
Don't forget to disable every other governor ('userspace', 'conservative'
and 'schedutil')as well for a more minimal system, as they won't be used.
Symbol: CONFIG_X86_INTEL_PSTATE
Help: This driver provides a P state for Intel core processors.
The driver implements an internal governor and will become
the scaling driver and governor for Sandy bridge processors.
When this driver is enabled it will become the preferred
scaling driver for Sandy bridge processors.
If in doubt, say N.
Type: boolean
Choice: built-in
Reason: It's highly recommended that you include this option in your kernel
if you're using a gen 2+ Intel CPU.
Dont' forget to include CONFIG_CPU_FREQ_GOV_ONDEMAND as your default
governor and enable both CONFIG_CPU_FREQ_GOV_PERFORMANCE and
CONFIG_CPU_FREQ_GOV_POWERSAVE and exclude every other governor and
CPU scaling driver for a more minimal system as they won't be used.
Symbol: CONFIG_CPU_IDLE
Help: CPU idle is a generic framework for supporting software-controlled
idle processor power management. It includes modular cross-platform
governors that can be swapped during runtime.
If you're using an ACPI-enabled platform, you should say Y here.
Type: boolean
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
as it allows your CPU to enter idle state when not in use to conserve energy.
Symbol: CONFIG_CPU_IDLE_GOV_LADDER
Help: There is no help available for this option.
Type: boolean
Choice: built-in -∗-
Reason: It's highly recommended that you include this option in your kernel
that is if it isn't already forcibly included by CONFIG_HZ_PERIODIC.
Symbol: CONFIG_CPU_IDLE_GOV_MENU
Help: There is no help available for this option.
Type: boolean
Choice: excluded [ ]
Reason: You can safely exclude this option if you've already included CONFIG_HZ_PERIODIC
and CONFIG_CPU_IDLE_GOV_LADDER.
Symbol: CONFIG_INTEL_IDLE
Help: Enable intel_idle, a cpuidle driver that includes knowledge of
native Intel hardware idle features. The acpi_idle driver
can be configured at the same time, in order to handle
processors intel_idle does not support.
Type: boolean
Choice: built-in [∗]
Reason: It's highly recommended that you include this option in your kernel
if you're using an Intel CPU along with CONFIG_CPU_IDLE as it's much
more compatible with your Intel CPU and should facilitate the process
of idling.
Leave A Comment