之前为了确认 /proc/interrupts 文件第一列的缩进方式,看了一下相关源码,在这里做一些记录。
系统一共有多少个中断?
系统可用的中断数量主要由架构决定,x86 的具体数量可以参考以下定义。
/* kernel/irq/irqdesc.c */ 96 int nr_irqs = NR_IRQS; 97 EXPORT_SYMBOL_GPL(nr_irqs);
/* arch/x86/include/asm/irq_vectors.h */ 152 #define NR_IRQS_LEGACY 16 153 154 #define IO_APIC_VECTOR_LIMIT ( 32 * MAX_IO_APICS ) 155 156 #ifdef CONFIG_X86_IO_APIC 157 # define CPU_VECTOR_LIMIT (64 * NR_CPUS) 158 # define NR_IRQS \ 159 (CPU_VECTOR_LIMIT > IO_APIC_VECTOR_LIMIT ? \ 160 (NR_VECTORS + CPU_VECTOR_LIMIT) : \ 161 (NR_VECTORS + IO_APIC_VECTOR_LIMIT)) 162 #else /* !CONFIG_X86_IO_APIC: */ 163 # define NR_IRQS NR_IRQS_LEGACY 164 #endif