1,197 瀏覽數

Linux 開機參數 intremap=no_x2apic_optout

這個 Linux 開機參數 intremap=no_x2apic_optout 是做什麼的?

裡面有 APIC (Advanced Programmable Interrupt Controller) 進階的 IRQ 管理器,那什麼是 x2apic ?

先來看一下什麼是 APIC,APIC 有兩種 local APIC (LAPIC) 以及 I/O APIC

  • local APIC (LAPIC)
    每一個 CPU 都有自己的 LAPIC,主要用於管理 SMP(Symmetric multiprocessing) 系統中某些特定處理器的所有外部中斷,此外,它們都能夠接受和產生LAPICs 之間的inter-processor interrupts (IPIs).
    處理器間中斷 (Inter-Processor Interrupt,IPI) 在多處理器系統中當一個處理器向另一個處理器發出的中斷行為即為 IPI
  • I/O APIC
    另外一種是 I/O 的 APIC 用來處理關於 I/O 設備引起的中斷,這 I/O APIC 存在主板上,包含 redirection table ,用來路由周邊設備中斷到一個或多個 Local APIC.

下面可以看到我的系統有一個 7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller

root@benjr:~# lshw -short
H/W path        Device      Class      Description
==================================================
                            system     Server()
/0                          bus        Server
/0/0                        memory     64KiB BIOS
/0/4                        processor  Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
/0/100                      bridge     5500 I/O Hub to ESI Port
/0/100/1                    bridge     5520/5500/X58 I/O Hub PCI Express Root Port 1
/0/100/1/0      eth0        network    82575EB Gigabit Network Connection
/0/100/13                   generic    7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller
/0/100/1e/3                 display    MGA G200eW WPCM450
/0/100/1f.2                 storage    82801JI (ICH10 Family) SATA AHCI Controller

那什麼是 xAPIC 與 x2APIC ,都類似於剛剛提到的 local APIC (LAPIC) 以及 I/O APIC
下面轉貼 http://www.intel.com/content/www/us/en/architecture-and-technology/64-architecture-x2apic-specification.html

  1. xAPIC
    The extension of the APIC architecture that includes messaged APIC interface over the system bus and expanding processor physical addressability from 4 bits to 8 bits.
  2. local xAPIC
    The processor component that implements the associated xAPIC functionalities. This is supported by Intel® Pentium® 4 processors,Pentium® M processors, Intel® CoreTM 2 Duo processors, and Intel® Xeon® processors based on Intel® NetBurst microarchitecture and Intel® CoreTM microarchitecture.
  3. x2APIC
    The extension of xAPIC architecture to support 32 bit addressability of processors and associated enhancements.
  4. local x2APIC
    The processor component that implements the associated x2APIC functionalities.

Linux intremap 開機可以使用的參數如下:
intremap – Format: { on (default) | off | nosid }

  • on
    Enable X2APIC AND IRQ remapping (Default).
  • off
    Disable X2APIC AND IRQ remapping.
  • nosid
    Disable Source ID checking.
  • no_x2apic_optout
    BIOS x2APIC opt-out request will be ignored, let X2APIC enabled with IRQ remapping.

發表迴響