Gentoo Linux Kernel configuration (2)

Source: Internet
Author: User
Tags dell laptop

[*] Enable loadable module support --->

[] Forced module Loading
// The module can be forcibly loaded, not selected

[*] Module unloading
// It is better to allow unmount of loaded modules.

[] Forced module unloading

// This option can be used to uninstall the module. Even if the kernel thinks this is not safe, you can quickly detach the module in use. If you are not a kernel developer or hardcore player, do not select this option.

[] Module Versioning support

// Sometimes, you need to compile the module. If this option is selected, some version information will be added to provide independent features for the compiled modules, so that different kernels can distinguish them from their original modules when using the same module. This may be useful sometimes. Or that suggestion. If it is a kernel or module developer or an ashes player, you can choose it. If it is a common user, do not select it. It is useless.

[] Source checksum for all modules
// Verify the source code for all modules. It is not required if you do not compile the kernel module yourself. This function is used to prevent version conflicts caused by code changes to the kernel module but the version number is not changed. I guess no company is using version control tools in development, so I don't need this. If you do not write the kernel module by yourself, you do not need this option.

 

-*-Enable the block layer --->
// Select the default option for each sub-item...

 

Processor type and features --->

 

[*] Tickless System (Dynamic ticks)
// A non-fixed-Frequency System. This technology makes the new kernel run more efficiently and saves power. Dynamic time slice means to reduce the polling frequency of the kernel timer when the CPU is idle.

 

[*] High Resolution timer support
// Supports high-frequency time generators. If the hardware is not compatible, this option will only increase the kernel size (not for most PCs ). You can disable it.

[*] Hierarchical Ric multi-processing support
// Supports symmetric multi-processor support. If you have multiple CPUs or use multi-core CPUs, select.

[] Support sparse IRQ numbering
// Supports rare interrupt numbers. No. Multiple (non-multi-core) CPUs are optional.

[*] Enable MPs table

// Enable multi-core/multi-CPU systems to support ACPI. Optional.


[] Support for big SMP systems with more than 8 CPUs

[] Support for extended (non-PC) x86 platforms

// I am an x86 Platform and do not need to support other platforms

[*] Single-depth wchan output

// It is best not to close proc-related items

[] Paravirtualized guest support --->
// Virtual client support, no use, not selected

[*] Disable bootmem code

// This optimizes some complex initial memory allocation fragments within the Linux kernel. Optional.

[] Memtest

// Memory Test

Processor family (Core 2/newer Xeon) --->

// Select the corresponding CPU here, I am Core 2 duo

[] Generic x86 support

// This option is more optimized for x86 series CPUs. If you select i386 or i586 in the previous item, select this general-purpose x86 support. If your CPU can be found in the "Processor family" mentioned above, do not select it. I have Core 2 Duo, which has been found in processor family. Therefore, I do not select this option.

[*] Hpet timer support
// Supports hpet clock. Allows the kernel to use hpet. Hpet is a new generation timer that replaces 8254 chips. It is supported by i686 and later-level Boards and can be safely selected. However, HEPT only runs on platforms and bios that support it. If not, 8254 is activated. Select n to continue using the 8254 clock. Select it.

(8) Maximum number of CPUs

// The maximum number of CPUs supported. This does not make much sense. If you enter 4 or 8, the impact is minimal. Note the number of CPU cores. If the hyper-threading processor needs to be multiplied by 2.

[] SMT (hyperthreading) scheduler support

 

// Supports Intel's hyper-threading (HT) technology hyperthreading scheduler. In some cases, it will provide better support for the Intel HT series. If you do not know, do not select. My CPU is p7370 and does not support hyper-threading ht. No.

[*] Multi-core scheduler support
Multi-core CPU scheduling policy optimization multi-core scheduling mechanism is supported, dual-core CPU needs to be selected. Multi-core scheduling will provide better support for multi-core CPU series in some cases. I chose dual-core.

 

Preemption model (Voluntary kernel preemption (desktop) --- │>
In the inner-core preemption mode, some programs with high priority can first execute some low-priority programs, even if they are executed in the core state. This reduces the kernel latency and improves system response. Of course, in some special points, the kernel cannot be preemptible. For example, the scheduling program in the kernel itself cannot be preemptible during execution. This feature improves the performance of desktop and real-time systems.

 

  • () No Forced Preemption (server)
    This is a traditional preemptible Linux model designed for high throughput. It also provides a good response in many cases, but may have a long delay. If you create a server or use it for scientific computing, select this option, or you want to maximize the original computing capability of the kernel, regardless of the scheduling latency.
  • (X) Voluntary kernel preemption (desktop)
    The option of voluntary kernel preemption suitable for general desktop environments reduces kernel Latency by adding more "Clear preemptive points" to the kernel. These new preemptive points reduce the throughput cost, reduce the maximum kernel latency, and provide faster application response. This allows low-priority processes to automatically respond to events first, even if the process calls the system in the kernel. This makes the application program run more smoothly, even if the system is already running at a high load. If you compile the kernel for the desktop system, select this option.
  • () Preemptible kernel (low-latency desktop)
    This option enables active kernel preemption for real-time programs to reduce kernel Latency by compiling all kernel code (non-fatal part) into "preemptive. This allows low-priority processes to forcibly take the lead to respond to the event, even if the process is being called by the system or does not reach a normal "preemptive point ". This makes the application program run more smoothly even if the system is already running at a high load. The cost is reduced throughput, and the kernel running overhead increases. If you compile the kernel for a desktop or embedded system, it requires a very low latency. If you want the fastest response, select the third item. I think everything is balanced. Low latency means that the system is unstable. because too many users respond to the requirements, I chose the second one.

    [*] Reroute for broken boot irqs
    // Prevent system confusion when multiple boot IRQ messages are received at the same time

    [*] Machine check/overheating reporting
    Notify the kernel when the CPU detects a system fault, so that the kernel can take appropriate measures (such as overheating shutdown)

     

    [*] Intel MCE features

    // I have an Intel CPU.

    [] Amd MCE features

    [] Support for old Pentium 5/winchip machine checks

     

    <> Machine check injector support
    // Notify the kernel when the CPU detects a system fault, so that the kernel can take appropriate measures (such as shutdown due to overheating)

    <> Toshba laptop support
    // Toshiba notebook module support
    <> Dell laptop support
    // DELL notebook module support

     

    [] Enable x86 board specific fixups for reboot
    // Fixed the bug of some old x86 boards. This type of motherboard is basically extinct.

    <>/Dev/CPU/microcode-microcode support

    // This option enables you to use ia32 microcode that is not released with the Linux kernel, but you must have a binary file with ia32 Microcode. Of course, you must select/dev file system support in the file system option to use it normally. No.

    <>/Dev/CPU/*/MSr-model-specific register support

    // This option is generally unavailable to desktop users. It is mainly used in Intel's embedded CPU, and the role of this register is also different from that of different CPU types, it can be used to change the usage of some CPU's original physical structure, but the CPU usage varies greatly. In a multi-CPU system, the privileged CPU can access the MSR register of X86. Because hyper-threading is not a real multi-processor environment, do not select this one.

    <>/Dev/CPU/*/cpuid-CPU Information Support

    // This creates a series of device files in/dev/CPU to allow the process to access the specified CPU. Generally, this parameter is not required.

    High memory support (4 GB) --->

    // If you have a physical memory of 1 gb-4gb, select the 4 GB option. If it exceeds 4 GB, select 64 GB. This will enable Intel's physical address extended mode (PAE ).

    Memory Model (flat memory) --->

    // Normal users use flat memory mode.

    [] Enable KSM for page merging

    // A memory management technology related to KVM virtual machines, which is unnecessary.

    (4096) Low address space to protect from user allocation
    [] Enable recovery from Hardware Memory Errors
    [] Allocate 3rd-level pagetables from highmem

    // Put the page tables of the user space in the high memory area on a machine with a lot of memory (greater than 4 GB.

    [] Check for low memory upload uption

    // Check dirty data in low memory. The default value is 60 seconds. This type of dirty data is usually caused by improper BIOS processing. I trust my current virtual BIOS version. Therefore, this parameter is not selected.

    [*] Reserve low 64 K of RAM on AMI/Phoenix biosen

    // AMI/Phoenix BIOS enabled. My HP is Phoenix BIOS ..

    [] Math emulation not selected
    In the simulation of the mathematical coprocessor, the CPU above 486dx should not be selected.

    Mtrr (memory type range register) Support

    // It is said that the video card performance can be improved.

    [] Mtrr cleanup support
    // Mtrr cleanup. If you do not select this option, do not select it.

    [] EFI runtime service suppor t not selected
    The EFI boot support allows the kernel to start with the system settings stored in the EFI firmware on the EFI platform. This also allows the kernel to use EFI-related services during runtime. This option is only useful on systems with EFI firmware. It will increase the kernel size by 8 KB. In addition, you must use the latest elilo compiler to enable the kernel with the EFI firmware settings (grub and Lilo do not know what EFI is ). Even if you do not have EFI, you can choose this option to start the kernel. Grub should be used, so it is useless to choose it. This option is not selected unless your system supports EFI (a technology that can replace the traditional BIOS.

    [*] Enable seccomp to safely compute untrusted bytecode

    // Optional only for Embedded Systems

    [] Enable-fstack-Protector Buffer Overflow detection (experimen │

    // I don't know if it's a magic horse.

    Timer frequency (1000Hz) --->

    // Allows you to set the clock frequency. This is a user-defined clock Interruption Frequency of 100Hz-1000Hz, but 100Hz is more suitable for servers and NUMA systems, they do not need to quickly respond to user requirements, because the clock is interrupted, bus contention and buffer are blocked. In fact, it is similar to the previous preemptive process, that is, how often it responds to user requirements. But in that sentence, everything is balanced. If the machine responds to you quickly, it will not know whether it is doing well.

    [*] Kexec system call
    // Kexec system call. Kexec is a system call that is used to shut down your current kernel and then enable another kernel. It is similar to restarting, but it does not access system firmware. Since it is similar to restarting, you can start any internal core, not just Linux. The kexec name is called by the exec system. It is only a process that can determine whether the hardware is properly shut down. Linus has nothing to say, and it is estimated that the hardware is not affected. Of course we cannot be fooled. Select n! Kexec system call is provided, so you can switch to another kernel without restarting. If you need to, you can choose not to need it for most users.

    [] Kernel crash dumps

    // Information about dump running when the kernel crashes. Even if it's crash, I won't debug the core dump of the kernel.

    [] Build a relocatable kerne L
    // Create a mobile kernel. Unless otherwise specified, it only increases the kernel size.

    (0x1000000) alignment value to which kernel shoshould be aligned
    // Match the physical address during kernel compilation and running. Do not change this value unless you know what you are doing.

    -*-Support for hot-pluggable CPUs
    // Supports SMP sleep and hot swapping CPU

    [] Compat vdso support is not selected
    // If the glibc version is greater than or equal to 2.3.3, It is not selected. Otherwise, the current version is basically later than 2.3.3.

    [] Built-in kernel command line

     

     

     

     

     

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.