Created attachment 27397 [details] faulty kernel config I updated kernel into router distro - and saw that MSI isn't enabled for devices that supports it; by default it uses IO-APIC-fasteoi Here is, for example, listing of /proc/interrupts for test platform (NForce4-based MB with onboard NIC - that will support MSI): # cat /proc/interrupts CPU0 0: 131 IO-APIC-edge timer 1: 274 IO-APIC-edge i8042 6: 2 IO-APIC-edge floppy 7: 1 IO-APIC-edge 8: 1 IO-APIC-edge rtc0 9: 0 IO-APIC-fasteoi acpi 14: 0 IO-APIC-edge pata_amd 15: 0 IO-APIC-edge pata_amd 20: 0 IO-APIC-fasteoi sata_nv 21: 0 IO-APIC-fasteoi sata_nv 22: 895 IO-APIC-fasteoi ehci_hcd:usb2 23: 2139 IO-APIC-fasteoi ohci_hcd:usb1, eth0 NMI: 0 Non-maskable interrupts LOC: 7694 Local timer interrupts SPU: 0 Spurious interrupts PMI: 0 Performance monitoring interrupts PND: 0 Performance pending work RES: 0 Rescheduling interrupts CAL: 0 Function call interrupts TLB: 0 TLB shootdowns TRM: 0 Thermal event interrupts THR: 0 Threshold APIC interrupts MCE: 0 Machine check exceptions MCP: 1 Machine check polls ERR: 1 MIS: 0 On another platform (which have Yukon2 PCI-E card on K8M890 MB) - there is also no MSI. MSI in kernel is enabled; I get new config just by 'make oldconfig' with older 2.6.32 config in directory - so differences will be minimal. For x86_64 build (on other distro) all looks OK. On 2.6.32 kernel that was used later in this distro - also all is OK.
Strange. When I inserted Yukon2 into NForce4 - I've got MSI IRQ handling for it's interrupt. AFAIK MSI is always supported for PCI-E chipsets, isn't it? So why on K8M890 it's absent?