Ngắt MSI-X là ngắt dựa trên thông báo và là phương pháp duy nhất có sẵn cho thiết bị PCIe để báo hiệu ngắt. Thay vì khẳng định một dòng phần cứng để báo hiệu ngắt, thiết bị sẽ ghi một từ vào một địa chỉ được định cấu hình sẵn. Địa chỉ đó là một thanh ghi điều khiển trong CPU, hoặc một thanh ghi trong cổng gốc PCIe mô phỏng hệ thống ngắt kế thừa. Bạn đang nhìn thấy cả hai trường hợp đó.
BIOS cấu hình bảng để gửi ngắt MSI tới cổng gốc, mô phỏng ngắt INTx, đến CPU thông qua định tuyến trong APIC. Khi hệ điều hành hỗ trợ MSI trực tiếp, trình điều khiển thiết bị có thể lập trình lại địa chỉ đích MSI, sao cho thông báo ngắt đến trực tiếp thanh ghi CPU gián đoạn.
MSI-X khác với MSI chỉ đơn giản bằng cách hỗ trợ nhiều vectơ ngắt (một cho mỗi cổng mạng trên NIC cổng kép, ví dụ hoặc một cho TX và RX).
MSI thực hiện tốt hơn so với mô phỏng INTX, vì mô phỏng INTX chia sẻ ngắt giữa các thiết bị phía sau cùng một cầu PCIe, mặc dù điều này thực sự chỉ quan trọng trên các thiết bị tạo ra nhiều gián đoạn. Câu hỏi của bạn nên là, "tại sao một trong các hệ thống của tôi không cho phép gián đoạn MSI-X trên thẻ mạng của tôi."
Tài liệu tham khảo:
http://lwn.net/Articles/44139/
http://en.wikipedia.org/wiki/Message_Signaled_Interrupts
Bỏ phiếu để mở lại. Câu hỏi này là về lập trình trình điều khiển thiết bị. – Peter