在ACPI和APIC有什么关系? 中我谈到了acpi和apic的差别,以及内核如何接受这些参数的方法。
昨天去公安部解决qlogic 2312光纤卡加载后kernel panic的问题,现在很怪异,单核心加载没有问题,能正确识别到盘阵(IBM
Total Storage DS4500),但是SMP核心会给出SCSI 命令超时的错误,30分钟后就会kernel panic。尝试加了apic=off的核心参数,依然不管用。
只要想其他办法,比如更新驱动。但是无论怎么做,都是没有用。
后来查看了/proc/interrupts文件,发现qla2300驱动,单核心使用中断是XT-PIC,SMP核心也采用XT-PIC,而不是期望的IO-APIC-level,觉得可能是驱动没有正确处理SMP核心。但是这样的卡不是第一次使用,其他地方都可以,难道是机器(IBM
x346)和卡配合的问题?查看了一下内核参数文档,发现apic的禁用方式写的是noapic,反正是测试,于是重启机器使用noapic核心参数测试,结果发现成功了。
原来前面使用的apic=off是不正确的,但是显然禁止电源管理是采用acpi=off的参数形式。 为什么参数接受方式要弄得不一样呢?这其中有什么不知道的秘密吗?不解.